lunr.js
1.0.0
Solr に少し似ていますが、はるかに小さく、それほど明るくありません。
非常に単純な検索インデックスは、次のように作成できます。
var idx = lunr ( function ( ) {
this . field ( 'title' )
this . field ( 'body' )
this . add ( {
"title" : "Twelfth-Night" ,
"body" : "If music be the food of love, play on: Give me excess of it…" ,
"author" : "William Shakespeare" ,
"id" : "1"
} )
} )
検索は次のように簡単です。
idx . search ( "love" )
これにより、一致するドキュメントのリストが、検索クエリにどの程度一致するかのスコアとともに、一致に関する関連メタデータとともに返されます。
[
{
"ref" : "1" ,
"score" : 0.3535533905932737 ,
"matchData" : {
"metadata" : {
"love" : {
"body" : { }
}
}
}
}
]
API ドキュメントと完全な動作例が利用可能です。
Lunr.js は、ブラウザーで使用する小さな全文検索ライブラリです。 JSON ドキュメントのインデックスを作成し、テキスト クエリに最も一致するドキュメントを取得するためのシンプルな検索インターフェイスを提供します。
すべてのデータがすでにクライアントに存在する Web アプリケーションの場合、クライアント上でもそのデータを検索できることは理にかなっています。これにより、サーバー上に余分な圧縮されたサービスを追加する必要がなくなります。ローカル検索インデックスは高速であり、ネットワーク オーバーヘッドがなく、ネットワーク接続がなくても引き続き利用可能で使用可能です。
lunr.js ソース ファイルを使用するページに含めるだけです。 Lunr.js は、最新のすべてのブラウザーでサポートされています。
あるいは、 npm パッケージnpm install lunr
も利用できます。
ES5 をサポートしていないブラウザでは、Lunr が機能するために JavaScript shim が必要です。 Augment.js、ES5-Shim、または古いブラウザにパッチを適用して ES5 と互換性のある JavaScript 環境を提供するライブラリを使用できます。
CONTRIBUTING.md
ファイルを参照してください。