[javascript] Fuse.js에서 사용되는 검색 범위 설정 방법

Fuse.js는 JavaScript의 텍스트 검색 라이브러리로, 검색 결과를 정확하게 제공할 수 있는 다양한 옵션을 제공합니다. 그 중에서도 검색 범위를 설정하는 방법을 알아보겠습니다.

1. 검색 범위 설정

Fuse.js에서 검색 범위를 설정하기 위해서는 keys 옵션을 사용합니다. keys는 검색 대상이 될 객체의 속성을 설정하는 배열입니다.

예를 들어, 다음과 같은 예제 데이터가 있다고 가정해봅시다.

const books = [
  { title: "JavaScript Cookbook", author: "John Doe" },
  { title: "Eloquent JavaScript", author: "Marijn Haverbeke" },
  { title: "The Pragmatic Programmer", author: "Andrew Hunt" },
]

만약 title 속성만을 검색 대상으로 설정하고 싶다면, keys 옵션을 다음과 같이 설정하면 됩니다.

const options = {
  keys: ['title']
}

const fuse = new Fuse(books, options)

이제 fuse.search('JavaScript')와 같이 search 메소드로 검색을 수행하면, title 속성만을 대상으로 검색이 이뤄집니다.

2. 다중 검색 범위 설정

두 개 이상의 속성을 동시에 검색 대상으로 설정하고 싶다면, keys에 여러 속성을 배열로 설정하면 됩니다.

예를 들어, titleauthor 두 개의 속성을 동시에 검색하고 싶다면, keys를 다음과 같이 설정합니다.

const options = {
  keys: ['title', 'author']
}

const fuse = new Fuse(books, options)

이제 fuse.search('JavaScript')와 같이 검색을 수행하면, title 또는 author 속성에서 'JavaScript'를 찾아 반환합니다.

3. 검색 범위 설정의 유의사항

검색 범위 설정 방법을 사용할 때, 몇 가지 유의사항이 있습니다.

Fuse.js에서 사용되는 검색 범위 설정 방법에 대해 알아보았습니다. 이를 활용하여 다양한 검색 조건을 설정하여 원하는 검색 결과를 얻을 수 있습니다.

References