lunr core
2.3.10
.NETコアからlunr.jsのポート。 LunrはSolrに少し似ていますが、はるかに小さく、それほど明るくはありません。
非常に簡単な検索インデックスを使用して作成できます。
var index = await Index . Build ( async builder =>
{
builder
. AddField ( " title " )
. AddField ( " body " ) ;
await builder . Add ( new Document
{
{ " title " , " Twelfth-Night " } ,
{ " body " , " If music be the food of love, play on: Give me excess of it… " } ,
{ " author " , " William Shakespeare " } ,
{ " id " , " 1 " } ,
} ) ;
} ) ;
次に、検索は次のように簡単です。
await foreach ( Result result in index . Search ( " love " ) )
{
// do something with that result
}
これにより、一致するドキュメントのリストが、それらがどれほど密接に一致するか、検索クエリ、およびマッチに関する関連するメタデータのスコアを返します。
new List < Result >
{
new Result (
documentReference : " 1 " ,
score : 0.3535533905932737 ,
matchData : new MatchData (
term : " love " ,
field : " body "
)
)
}
Lunr-Coreは、小規模なアプリケーションで使用するための小規模なフルテキスト検索ライブラリです。ドキュメントのインデックスを作成し、テキストクエリに最適なドキュメントを取得するための簡単な検索インターフェイスを提供します。 lunr.jsと100%互換性があります。つまり、lunr.jsを使用してクライアントでサーバーで準備されたインデックスファイルをクライアントに使用できます。
Lunr-Coreは、単純な検索エンジンを必要とする小さなアプリケーションに適していますが、Luceneなどの本格的な検索エンジンのオーバーヘッドはありません。 lunr.JSとの互換性は、いくつかの興味深いクライアント側の検索シナリオも開きます。