milli
v0.41.3

高速かつ関連する検索アルゴリズムと組み合わせた同時のインデクサー
このリポジトリのコンテンツは、ワークスペースmilliのMeilisearchリポジトリで利用できるようになりました。
このリポジトリには、Meilisearchで使用されるコアエンジンが含まれています。
1つのインデックスのみを管理できるライブラリが含まれています。 Meilisearchは、Multi-Index自体を管理します。 Milliはアップデートを店に保存することができません。それは上記の何か他の仕事の仕事であり、これが一度に1つの更新しか処理できない理由です。
このリポジトリには、エンジンをすばやくデバッグするためのクレートが含まれています。
benchmarksクレートにはベンチマークがあります。cli CRATEは、その上にFlamegraphを実行するのに役立つシンプルなコマンドラインインターフェイスです。filter-parser Crateには、Meilisearchフィルターの構文のパーサーが含まれています。flatten-serde-json Crateには、ElasticSearchのようなSerde-JSON Valueオブジェクトを平らにするライブラリが含まれています。json-depth-checkerクレートは、JSONを平坦化する必要があるかどうかを示すために使用されます。 Milliは物事を検索するライブラリであり、プログラムに埋め込まれている必要があります。 cargo doc --openを使用して、ドキュメントを計算できます。
ライブラリの使用例を示します。ライブラリの使用では、ドキュメントをエンジンに挿入し、その直後にドキュメントの1つを検索します。
let path = tempfile :: tempdir ( ) . unwrap ( ) ;
let mut options = EnvOpenOptions :: new ( ) ;
options . map_size ( 10 * 1024 * 1024 ) ; // 10 MB
let index = Index :: new ( options , & path ) . unwrap ( ) ;
let mut wtxn = index . write_txn ( ) . unwrap ( ) ;
let content = documents ! ( [
{
"id" : 2 ,
"title" : "Prideand Prejudice" ,
"author" : "Jane Austin" ,
"genre" : "romance" ,
"price$" : "3.5$" ,
} ,
{
"id" : 456 ,
"title" : "Le Petit Prince" ,
"author" : "Antoine de Saint-Exupéry" ,
"genre" : "adventure" ,
"price$" : "10.0$" ,
} ,
{
"id" : 1 ,
"title" : "Wonderland" ,
"author" : "Lewis Carroll" ,
"genre" : "fantasy" ,
"price$" : "25.99$" ,
} ,
{
"id" : 4 ,
"title" : "Harry Potter ing fantasy