[javascript] Fuse.js에서 사용되는 결과 필터링 옵션

Fuse.js에서 사용되는 결과 필터링 옵션은 다음과 같습니다:

  1. shouldSort (기본값: true): 검색 결과를 정렬할지 여부를 결정합니다. 이 값을 false로 설정하면 검색 결과의 순서를 유지할 수 있습니다.

  2. threshold (기본값: 0.6): 검색 결과의 유사도 임계값을 설정합니다. 이 값은 0과 1 사이의 실수로 설정할 수 있으며, 값이 작을수록 더 유사한 결과를 반환합니다.

  3. location (기본값: 0): 검색 대상 문자열 내에서 일치하는 위치를 지정합니다. 0은 문자열의 어느 위치에서든 일치를 허용하고, 1은 문자열의 시작 부분에서만 일치를 허용하며, 2는 문자열의 끝 부분에서만 일치를 허용합니다.

  4. distance (기본값: 100): 검색 결과의 유사도를 계산할 때 사용되는 거리 함수를 선택합니다. Fuse.js는 여러 가지 거리 함수를 제공하며, 이 값을 설정하여 원하는 거리 함수를 선택할 수 있습니다.

  5. minMatchCharLength (기본값: 1): 일치하는 문자열의 최소 길이를 설정합니다. 이 값보다 짧은 길이의 문자열은 일치로 간주되지 않습니다.

  6. maxPatternLength (기본값: 32): 검색할 패턴의 최대 길이를 설정합니다. 이 값보다 긴 길이의 패턴은 자동으로 잘려서 검색됩니다.

  7. caseSensitive (기본값: false): 대소문자를 구별하여 검색할지 여부를 결정합니다.

위의 결과 필터링 옵션을 사용하여 Fuse.js 검색을 세밀하게 조정할 수 있습니다. 이러한 옵션을 적절히 설정하면 대량의 데이터에서 더 정확하고 효과적인 검색을 수행할 수 있습니다.

더 자세한 내용은 Fuse.js 공식 문서를 참조하세요.

// 예제 코드
const options = {
  shouldSort: true,
  threshold: 0.6,
  location: 0,
  distance: 100,
  minMatchCharLength: 1,
  maxPatternLength: 32,
  caseSensitive: false
};

const fuse = new Fuse(data, options);
const result = fuse.search('keyword');
console.log(result);

위 예제 코드에서는 Fuse.js를 초기화할 때 결과 필터링 옵션을 설정하고, search 함수를 사용하여 특정 키워드로 검색을 수행합니다. 검색 결과는 result 변수에 저장되며, 이를 적절히 활용하여 필요한 작업을 수행할 수 있습니다.