Frolics는 프론트 엔드 애플리케이션을위한 오프라인, 가볍고 전체 텍스트 검색 라이브러리입니다.
Frolics는 Elasticsearch와 Lucence에서 영감을 얻은 텍스트 처리 알고리즘 및 토큰 화, 스템 밍 및 역 지수와 같은 데이터 구조가 포함됩니다.
docs 제공되면 Frolics는 그에 따라 Inveted Index 데이터를 작성하여 Elasticsearch 및 Google 검색과 같은 주요 전체 텍스트 검색 서비스에서 널리 사용됩니다.
이제부터는 번거로운 설치 프로세스를 생략하여 전체 텍스트 검색을 수행 할 수 있으며, 더 이상 그러한 기능을 개발하기 위해 백엔드가 필요하지 않을 수 있습니다.
Frolics가 여기에 도움을주기 위해 여기에 있습니다!
Frolics를 설치하기 전에 노드 버전이 호환되는지 확인하십시오. 노드 v12+는 괜찮지 만 노드 v16은 권장됩니다.
그러나 Node v17+는 Reactjs에서 Frolics를 테스트 할 때 호환성 문제가있었습니다. 그러나 노드 v16은 잘 작동했습니다.
일단 완료. 터미널에서 npm install frolics 실행하십시오.
가져 오기 전에 원시 데이터가 필요합니다. 다음과 같아야합니다.
const docs = [
{
id: 1,
body: 'this is a test full text'
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
id 는 각 문서를 구별하고 body body Frolics id 검색을 위해 텍스트 데이터를 분석하고 분류 해야하는 콘텐츠입니다.
필요한 필드로서 id 와 body 에 대한 추가 기능에서 다른 기능에 대해 여러 가지를 가질 수 있습니다. 예를 들어 검색 할 때 미리보기 이미지를 원한다면 다음과 같은 docs 변경할 수 있습니다.
const docs = [
{
id: 1,
body: 'this is a test full text',
// imagesURL field is totally optional, you can have different name and data structure
imagesURL: 'https://yourImage.com/img1.png',
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
docs 정의한 후에는 모두 설정되어 있습니다. 다음 단계는 Frolics를 사용하는 것입니다.
Frolics는 ES6 구문을 지원하므로 다음과 같이 가져올 수 있습니다.
import { createDTM, Stemmer } from 'frolics';
import { docs } from "../assets/document.js" // Don't forget the raw data
이제 다음과 같이 createDTM 호출 할 수 있습니다.
const DTM = createDTM(docs);
createDTM docs 사용하고 역 색인 사전을 생성하는 주요 기능입니다.
Stemmer 로 원래 입력을 다듬어 검색 결과를 얻을 수 있습니다.
const DTM = createDTM(docs);
const stemmedInput = Stemmer(input);
return DTM[stemmedInput]; // The result
자세한 예제는 예제 폴더를 방문하십시오.
createDTM 함수 리턴은 반전 인덱스 사전입니다. 간단한 JavaScript 내장 기능 JSON.stringify 메소드를 사용하여 사람이 읽을 수있는 JSON 형식으로 변환 할 수 있습니다.
Frameworks를 기반으로 모든 파일 읽기 메소드를 선택하고 createDTM 기능을 호출하기 전에 존재하는 경우 JSON 파일을로드 할 수 있습니다.