项目截图
概览
XERJ 提供自动索引功能,允许 AI 代理高效地搜索和检索本地数据集中的信息,避免了使用 grep 或 sed 等工具造成的 token 浪费。只需将 XERJ 指向一个目录,它就会自动推断数据集,使用 tree-sitter 解析文件以实现感知 AST 的代码索引,并使数据可查询。它实现了 Elasticsearch REST API,具有极高的一致性(1360/1363 个测试用例通过),这意味着现有的 Elasticsearch 客户端、仪表板和库可以直接连接到它。它使用 Rust 编写,并以单个静态二进制文件分发,无需 JVM 或外部依赖。
主要功能
- 自动索引功能,可推断数据集,无需模式或管道配置
- Elasticsearch REST API 兼容性(通过 1363 个一致性测试用例中的 1360 个)
- 通过 tree-sitter 实现感知 AST 的代码索引,以准确提取符号和行号
- 支持全文、向量 kNN 和混合语义搜索
- 单个静态二进制文件,无需 JVM 或外部依赖
- 支持多种文件格式:CSV、JSON、JSONL、XML、YAML、SQLite、PDF、DOCX、HTML 和常见日志格式
- 在基准测试中,与 Elasticsearch 8.13.4 相比,摄入吞吐量提高 1.72 倍,磁盘占用减少 1.61 倍
要求、安装和快速入门
curl -fsSL https://xerj.org/get | sh
预编译二进制文件 (Windows PowerShell):
irm https://xerj.org/get.ps1 | iex
从源代码构建:
git clone https://github.com/xerj-org/xerj
cd xerj/engine
cargo build --release -p xerj-server
用法
xerj --insecure --data-dir ./data &
索引文件夹:
xerj autoindex ~/my-project
搜索索引数据:
curl "localhost:9200/ax-*/_search?q=checkout+error"
带有聚合的结构化查询:
curl localhost:9200/ax-orders/_search -H 'content-type: application/' -d '{
"query": { "range": { "total": { "gte": 100 } } },
"aggs": { "by_status": { "terms": { "field": "status" } } }
}'
模型兼容性与使用场景
Not stated in the repository metadata
许可证与风险说明
Apache-2.0
Editorial verification 2026-08-02: repository URL, owner, description, license and repository statistics were reviewed. License metadata: Apache-2.0. README was fetched for the channel draft; re-check repository dependencies, releases and model terms before production use.
发布与维护
Not stated in the repository metadata