[javascript] Fuse.js를 이용한 음악가 검색 기능 구현 방법

지난 시간에는 Fuse.js라는 JavaScript 라이브러리에 대해 언급했습니다. Fuse.js는 텍스트 검색 기능을 구현하는데 사용되며, 이번 블로그 포스트에서는 Fuse.js를 이용하여 음악가 검색 기능을 구현하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치

Fuse.js를 사용하기 위해 먼저 해당 라이브러리를 설치해야 합니다. 프로젝트의 루트 디렉토리에서 다음 명령어를 실행하여 Fuse.js 패키지를 설치합니다.

npm install fuse.js

검색 기능 구현하기

이제 Fuse.js를 이용하여 음악가 검색 기능을 구현해보겠습니다.

먼저, Fuse.js를 불러옵니다.

const Fuse = require('fuse.js');

다음으로, 검색 대상이 될 음악가 목록을 만듭니다.

const musicians = [
  { name: 'John Mayer', genre: 'Blues' },
  { name: 'Taylor Swift', genre: 'Pop' },
  { name: 'Ed Sheeran', genre: 'Pop' },
  { name: 'Adele', genre: 'Soul' },
  { name: 'Bruno Mars', genre: 'Pop' }
];

키워드에 해당하는 음악가를 검색하는 함수를 작성합니다.

function searchMusicians(keyword) {
  // Fuse.js를 초기화하고 옵션을 설정합니다.
  const fuse = new Fuse(musicians, {
    keys: ['name'],
    includeScore: true
  });

  // 키워드를 이용하여 음악가를 검색합니다.
  const result = fuse.search(keyword);

  // 검색 결과를 반환합니다.
  return result.map(item => item.item);
}

지금까지 작성한 코드를 하나로 합쳐서 실행하는 코드를 작성합니다.

const keyword = 'Taylor';

const result = searchMusicians(keyword);

console.log(result);

위의 예제에서는 “Taylor”이라는 키워드로 음악가를 검색하고 검색 결과를 콘솔에 출력합니다. 결과는 다음과 같이 나타납니다.

[
  { name: 'Taylor Swift', genre: 'Pop' }
]

이와 같이 Fuse.js를 이용하면 간단하게 음악가 검색 기능을 구현할 수 있습니다.

마무리

이번에는 Fuse.js를 이용하여 음악가 검색 기능을 구현하는 방법에 대해 알아보았습니다. Fuse.js는 다양한 옵션을 제공하여 텍스트 검색에 유용하게 사용될 수 있습니다. Fuse.js의 다양한 기능에 대해서는 공식 문서를 참고하세요.