積極的に開発されていません。代わりにトシをチェックしてください!
軽量の Elasticsearch 互換検索サーバー。
高品質の検索エンジンは多くの Web サイトにとって重要であり、Elasticsearch は使いやすい REST API を提供します。しかし、Elasticsearch の問題は、最低 2GB のメモリが必要であり、実行コストが高くつくことです。
このプロジェクトの目的は、Elasticsearch の強力な検索機能とシンプルな API を利用しながら、メモリ使用量をより詳細に制御できる言語で実装する新しい検索サーバーを構築することです。メモリ使用量を 100 MB (キャッシュを除く) 未満に抑えることを目指しているため、実行コストは非常に安くなるはずです。
Rust は、Java のような「ガベージ コレクター」によって後で収集される未使用のメモリを残すのではなく、メモリを解放します。 Elasticsearch では、このガベージのヒープにより、キャッシュとして使用できたはずの数ギガバイトのメモリが無駄になる可能性があります。
Rust は、高速、安全、信頼性の高いソフトウェアを構築するために設計された Mozilla のシステム プログラミング言語です。
このプロジェクトはアルファ版以前の品質であると考えてください。現在、Elasticsearch の API のサブセットのみをサポートしていますが、おそらくほとんどのアプリケーションを実行するには十分ではありません。
現在、一括および個別の両方のインデックス作成 (ただし、現時点では一括インデクサーは非常に遅い) と、BM25 類似性アルゴリズムを使用した検索をサポートしています。
現在取り組んでいることのリストについては、ロードマップを参照してください。
「Elasticsearch クエリの DSL サポート」を参照してください。
Rusticsearch は Linux と Windows でのみ公式にテストされていますが、Mac OS X でも実行できるはずです。
Rusticsearch は Rust 安定版 1.15 以降でコンパイルできます。 Rust Web サイトからダウンロードすることも、rustup を使用することもできます。
Rust がインストールされたら、リポジトリのクローンを作成し、 cargo run
を実行します。
git clone [email protected]:kaedroho/rusticsearch.git
cd rusticsearch
cargo run