[javascript] Fuse.js를 이용한 그림 검색 기능 구현 방법
이번 기술 블로그 포스트에서는 Fuse.js 라이브러리를 이용하여 그림 검색 기능을 구현하는 방법에 대해 알아보겠습니다.
Fuse.js란?
Fuse.js는 JavaScript 기반의 경량화된 검색 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 원하는 키워드에 대한 가장 정확한 결과를 쉽게 얻을 수 있습니다.
그림 검색 기능 구현하기
- Fuse.js 설치하기
먼저, Fuse.js를 설치해야 합니다. 다음의 명령어를 사용하여 Fuse.js를 프로젝트에 추가합니다.
npm install fuse.js
- 데이터 준비하기
검색 기능을 구현하기 위해 먼저 그림 데이터를 준비해야 합니다. 예를 들어, 다음과 같이 간단한 그림 데이터 배열을 생성합니다.
const pictures = [
{
id: 1,
title: "풍경 사진 1",
tags: ["풍경", "자연", "산"],
},
{
id: 2,
title: "식물 사진 1",
tags: ["식물", "초록색", "꽃"],
},
// 그 외 나머지 그림 데이터...
];
- Fuse.js 인스턴스 생성하기
Fuse.js를 사용하기 위해 인스턴스를 생성해야 합니다. 다음과 같이 Fuse.js 생성자 함수를 사용하여 인스턴스를 생성합니다.
const fuse = new Fuse(pictures, {
keys: ["title", "tags"],
});
- 첫 번째 인자에는 검색 대상이 되는 그림 데이터 배열을 전달합니다.
- 두 번째 인자에는 검색할 키워드가 포함된 객체 속성들을 지정합니다.
- 검색 기능 사용하기
이제 Fuse.js 인스턴스를 사용하여 그림을 검색할 수 있습니다. 다음과 같이 검색 키워드를 전달하여 검색 결과를 얻을 수 있습니다.
const search = (keyword) => {
const result = fuse.search(keyword);
return result;
};
- 검색 기능 테스트하기
위에서 구현한 검색 기능을 테스트해보겠습니다. 다음과 같이 키워드 “풍경”으로 검색한 결과를 출력하는 코드를 작성합니다.
const keyword = "풍경";
const searchResult = search(keyword);
console.log(searchResult);
위 코드를 실행하면 “풍경”과 관련된 그림 데이터가 검색되어 출력됩니다.
결론
이번에는 Fuse.js를 이용하여 간단한 그림 검색 기능을 구현하는 방법에 대해 알아보았습니다. Fuse.js는 강력한 검색 기능을 제공하며 쉽게 사용할 수 있는 라이브러리입니다.
더 많은 Fuse.js 사용 예제와 문서는 Fuse.js 공식 홈페이지에서 확인할 수 있습니다.