Frolicsは、フロントエンドアプリケーションのオフラインで軽量のフルテキスト検索ライブラリです。
FrolicsはElasticsearchとLucenceに触発されており、基礎となる実装には、テキスト処理アルゴリズムと、トークン化、茎、逆インデックスなどのデータ構造が含まれます。
docsが提供されると、Frolicsはそれに応じてnevetedインデックスデータを作成します。これは、ElasticsearchやGoogle Searchなどの主要なフルテキスト検索サービスで広く使用されています。
これからは、厄介なインストールプロセスを省略してフルテキスト検索を実行することができます。さらに良いことに、そのような機能を開発するためにバックエンドが必要ない場合があります。
フロリックはここにあります!
Frolicsをインストールする前に、ノードバージョンが互換性があることを確認してください。ノードV12+は問題ありませんが、ノードV16をお勧めします。
ただし、Node V17+には、ReactJでフロリックをテストしていたときに互換性の問題がありました。しかし、ノード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各ドキュメントを区別するため、一意のidとテキストコンテンツbody bodyが必要であることに注意してください。
必要なフィールドとしての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は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 Function Returnsは、反転インデックス辞書です。 Simple JavaScriptビルトイン関数JSON.stringifyメソッドを使用して、人間の読み取り可能なJSON形式に変換できます。
Frameworksに基づいて任意のファイル読み方式を選択し、 createDTM関数を呼び出す前に、存在する場合はJSONファイルをロードできます。