[javascript] Fuse.js에서 사용되는 사전(Dictionary) 기능

Fuse.js는 자바스크립트 라이브러리로, 퍼지(희미한) 검색 기능을 제공합니다. 이 라이브러리는 텍스트 데이터에서 특정 단어나 구문을 찾고 매칭 점수를 계산하여 가장 일치하는 결과를 반환합니다.

Fuse.js의 사전(Dictionary) 기능은 사용자가 커스텀 사전을 만들어 퍼지 검색에 사용할 수 있도록 해줍니다. 이 기능을 사용하면 특정 단어나 구문에 대해 사전에서 정의된 가중치를 적용하여 검색 결과를 개선할 수 있습니다.

Fuse.js에서 사전을 사용하려면 keys 옵션을 설정하고, 사전을 포함하는 객체를 includeMatches 옵션에 전달해야 합니다.

예시 코드:

const data = [
  {
    title: "Apple iPhone 12",
    description: "The latest iPhone from Apple with an A14 Bionic chip",
    price: 999
  },
  {
    title: "Samsung Galaxy S21",
    description: "The flagship phone from Samsung with Exynos 2100 processor",
    price: 1099
  },
  // ...
];

const options = {
  keys: ["title", "description"],
  includeMatches: true,
  threshold: 0.5,
  shouldSort: true,
  // 다른 옵션들...
};

const Fuse = require("fuse.js");
const fuse = new Fuse(data, options);

const searchQuery = "apple";
const result = fuse.search(searchQuery);

console.log(result);

위 예시 코드에서 keys 옵션은 퍼지 검색을 수행할 속성을 지정하고, includeMatches 옵션은 검색 결과에 일치하는 사전 항목을 포함시킵니다. threshold 옵션은 일치하는 정도의 임계값을 설정하고, shouldSort 옵션은 검색 결과의 정렬 여부를 지정합니다.

이렇게 설정된 옵션을 사용하여 Fuse 클래스의 인스턴스를 생성한 후, search 메소드를 호출하여 검색을 수행합니다. 검색어인 searchQuery에 대한 결과는 result 변수에 저장되고, 퍼지 검색 결과를 확인할 수 있습니다.

자세한 Fuse.js의 사용 방법과 다른 옵션들은 Fuse.js의 공식 문서를 참고하시기 바랍니다.

참고 문서: