Repolode
xerj-org

xerj-org/xerj

フォルダを自動でインデックス化し、Elasticsearch APIに対応するRust製ローカルAI検索エンジン

代替できる製品:Elasticsearch

スター
8,758
フォーク
470
未解決の Issue
86
最終コミット
昨日

これは何?

XERJは、`xerj autoindex <folder>`の1コマンドでフォルダをインデックス化する、Rust製の単一バイナリです。ファイル形式を自動判別し、データセットごとに検索可能なインデックスを作成します。対象はソースコード(tree-sitterで解析し、シンボルと行番号を保持)、CSV、JSON、YAML、SQLite、PDF、Office文書、メール、ログファイルです。スキーマやパイプラインを記述する必要はありません。

コーディングエージェントやRAGパイプラインがファイル全体を読むのではなく、該当箇所を正確に検索できるようにすることを目的としています。Elasticsearch REST API経由で、BM25全文検索、kNNベクトル検索、ハイブリッド検索を利用できます。そのため、既存のElasticsearchクライアントやKibanaから直接接続できます。MCPサーバーは検索、メモリ、グラフの各ツールを公開し、Claude CodeやCursorなどのMCP対応クライアントから利用できます。

デフォルトの埋め込みモデルは語彙ベースで、オフラインで動作します。ニューラル埋め込みモデルはオプションで、事前にモデルファイルをダウンロードする必要があります。開発用の`--insecure`モードではTLSと認証が無効になるため、ローカルマシンでの単独利用を想定しています。

主な機能

  • 011つのコマンドでフォルダを自動インデックス化し、ファイル形式を判別してデータセットごとにインデックスを作成します。
  • 02ソースコードをtree-sitterで解析し、シンボルと行番号を保持します。
  • 03Elasticsearch互換のREST APIを備え、既存のクライアントやKibanaから直接接続できます。
  • 041つのエンジンでBM25全文検索、kNNベクトル検索、ハイブリッド検索を利用できます。
  • 05Claude CodeやCursorなどのエージェント向けにMCPサーバーを提供します。
  • 06JVM不要の単一静的バイナリとして、Linux、macOS、Windows向けに配布されています。

ユースケース

  • ファイル全体を読む代わりに、コーディングエージェントにコードベースから特定の関数を検索させる。
  • 別途ベクトルデータベースを用意せずに、ローカル文書を対象としたRAGやコードベースのQ&Aを構築する。
  • ソースツリー全体を対象にシンクパターンやシークレットを検索し、セキュリティ監査を行う。
  • 単一マシンでのログ分析において、セルフホスト型のElasticsearch環境を置き換える。

クイックスタート

  1. 1

    バイナリをダウンロードしてインストールする

    README の公式手順に従ってインストール
  2. 2

    ローカル開発用にサーバーを起動する(TLSなし、認証なし)

    xerj --insecure --data-dir ./data &
  3. 3

    任意のフォルダーをインデックス化する

    xerj autoindex ~/my-project
  4. 4

    インデックス化したフォルダーに対して検索クエリを実行する

    xerj search "how do we rotate the WAL segment"

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

  • --insecure フラグを指定するとTLSとAPIキー認証が無効になるため、開発用マシンで1人だけが使う場合に限り安全です。
  • ニューラル埋め込みモードはオプトイン方式で、約90 MBのモデルファイルをダウンロードします。

トピック

よくある質問

xerj とは?
フォルダを自動でインデックス化し、Elasticsearch APIに対応するRust製ローカルAI検索エンジン XERJは、`xerj autoindex <folder>`の1コマンドでフォルダをインデックス化する、Rust製の単一バイナリです。ファイル形式を自動判別し、データセットごとに検索可能なインデックスを作成します。対象はソースコード(tree-sitterで解析し、シンボルと行番号を保持)、CSV、JSON、YAML、SQLite、PDF、Office文書、メール、ログファイルです。スキーマやパイプラインを記述する必要はありません。
xerj は無料で使えますか?ライセンスは?
xerj は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
xerj は今もメンテナンスされていますか?
活発にメンテナンス中。xerj の最終コミットは 2026年10月19日 です。
xerj は何に使えますか?
ファイル全体を読む代わりに、コーディングエージェントにコードベースから特定の関数を検索させる。 別途ベクトルデータベースを用意せずに、ローカル文書を対象としたRAGやコードベースのQ&Aを構築する。 ソースツリー全体を対象にシンクパターンやシークレットを検索し、セキュリティ監査を行う。 単一マシンでのログ分析において、セルフホスト型のElasticsearch環境を置き換える。
xerj のインストール方法は?
バイナリをダウンロードしてインストールする ローカル開発用にサーバーを起動する(TLSなし、認証なし): xerj --insecure --data-dir ./data & 任意のフォルダーをインデックス化する: xerj autoindex ~/my-project インデックス化したフォルダーに対して検索クエリを実行する: xerj search "how do we rotate the WAL segment"
xerj はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/xerj-org/xerj

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

関連プロジェクト