Repolode
quickwit-oss

quickwit-oss/tantivy

Apache Luceneに着想を得たRust製の全文検索エンジンライブラリ。アプリケーションに独自の検索機能を組み込めます。

代替できる製品:ElasticsearchApache Solr

スター
16,247
フォーク
1,017
未解決の Issue
484
最終コミット
20 時間前

これは何?

Tantivyは、ソフトウェアに全文検索機能を組み込むためのRustクレートです。単体で動作する検索サーバーではなく、開発者がAPIを使ってスキーマを定義し、ドキュメントをインデックス化して、クエリを実行します。設計はApache Luceneに忠実で、Luceneと同じランキング方式のBM25スコアリングを採用しています。

一般的な検索機能を一通り備えています。17のラテン文字系言語に対応したステミング付きの設定可能なトークナイザー、フレーズ検索と範囲検索、AND/OR演算子を使える自然言語クエリ、ファセット検索などを利用できます。フィールドの型はテキスト、整数、浮動小数点数、日付、IPアドレス、真偽値、JSONに対応し、fast fieldsはLuceneのdoc valuesと同様に機能します。ドキュメントはLZ4、Zstd、または圧縮なしで保存でき、集約用collectorではヒストグラム、範囲バケット、基本統計量を取得できます。

Tantivyはインクリメンタルインデックス作成とマルチスレッドでのインデックス作成に対応し、起動時間は10ミリ秒未満のため、CLIツールにも適しています。中国語と日本語のトークナイズには、サードパーティ製のトークナイザークレートを利用します。Linux、macOS、Windowsで安定版Rustを使って動作します。

主な機能

  • 01Luceneと同じランキング方式のBM25スコアリング
  • 0217のラテン文字系言語に対応した、ステミング付きの設定可能なトークナイザー
  • 03フレーズ検索、範囲検索、自然言語によるブール検索
  • 04インクリメンタルインデックス作成とマルチスレッドでのインデックス作成
  • 05fast fields、ファセット検索、集約
  • 06LZ4、Zstd、または圧縮なしに対応したドキュメントストア

ユースケース

  • 別のサーバーを立てずに、Rustアプリケーションへ全文検索を追加する
  • 起動の速い独自のCLI検索ツールを構築する
  • メールやメッセージのアーカイブをインデックス化してローカル検索する
  • Lucene風のクエリが必要なサービスに検索エンジンを組み込む

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/quickwit-oss/tantivy.git
  2. 2

    プロジェクトディレクトリに移動する

    cd tantivy
  3. 3

    Cargo(stable Rust)でテストを実行する

    cargo test

使う前に知っておきたいこと

  • Rustのライブラリであり、すぐに実行できる検索サーバーではないため、その上に独自の検索アプリケーションを構築する必要があります。
  • 分散検索は対象外です。分散検索にはQuickwitを使用してください。
  • ドキュメントは不変です。編集するには削除して再インデックスする必要があります。
  • 中国語と日本語のトークン化にはサードパーティ製のcrateを使用します。

トピック

よくある質問

tantivy とは?
Apache Luceneに着想を得たRust製の全文検索エンジンライブラリ。アプリケーションに独自の検索機能を組み込めます。 Tantivyは、ソフトウェアに全文検索機能を組み込むためのRustクレートです。単体で動作する検索サーバーではなく、開発者がAPIを使ってスキーマを定義し、ドキュメントをインデックス化して、クエリを実行します。設計はApache Luceneに忠実で、Luceneと同じランキング方式のBM25スコアリングを採用しています。
tantivy は無料で使えますか?ライセンスは?
tantivy は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tantivy は今もメンテナンスされていますか?
活発にメンテナンス中。tantivy の最終コミットは 2026年10月21日 です。
tantivy は何に使えますか?
別のサーバーを立てずに、Rustアプリケーションへ全文検索を追加する 起動の速い独自のCLI検索ツールを構築する メールやメッセージのアーカイブをインデックス化してローカル検索する Lucene風のクエリが必要なサービスに検索エンジンを組み込む
tantivy のインストール方法は?
リポジトリをクローンする: git clone https://github.com/quickwit-oss/tantivy.git プロジェクトディレクトリに移動する: cd tantivy Cargo(stable Rust)でテストを実行する: cargo test
tantivy はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/quickwit-oss/tantivy

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト