Agents & Multi-Agent

XERJ

xerj-org/xerj

XERJ is a search engine for AI agents that automatically indexes code, documents, logs, and PDFs, enabling agents to query data rather than reading entire files into their context windows. It is Elasticsearch-compatible, allowing existing clients and tooling to work unchanged.

★ 1.4KStars
⑂ 288Forks
53Open issues
RustLanguage
Apache-2.0License
Q@project.QualityScoreEditorial score

Project screenshots

Screenshot of XERJ Screenshot of XERJ Screenshot of XERJ Screenshot of XERJ Screenshot of XERJ Screenshot of XERJ

Overview

XERJ provides an autoindex capability that allows AI agents to efficiently search and retrieve information from local datasets without the token waste associated with tools like grep or sed. By pointing XERJ at a directory, it automatically infers datasets, parses files using tree-sitter for AST-aware code indexing, and makes the data queryable. It implements the Elasticsearch REST API, achieving high conformance (1360/1363 cases), meaning existing Elasticsearch clients, dashboards, and libraries can connect to it directly. It is written in Rust and distributed as a single static binary with no JVM or external dependencies.

Key features

  • Autoindexing capability that infers datasets and requires no schema or pipeline configuration
  • Elasticsearch REST API compatibility (passes 1360 of 1363 conformance test cases)
  • AST-aware code indexing via tree-sitter for accurate symbol and line number extraction
  • Full-text, vector kNN, and hybrid semantic search support
  • Single static binary with no JVM or external dependencies
  • Supports multiple file formats: CSV, JSON, JSONL, XML, YAML, SQLite, PDF, DOCX, HTML, and common log formats
  • 1.72x ingest throughput and 1.61x smaller on-disk footprint compared to Elasticsearch 8.13.4 in benchmarks

Requirements, installation and quick start

Prebuilt binary (Linux/macOS):
curl -fsSL https://xerj.org/get | sh

Prebuilt binary (Windows PowerShell):
irm https://xerj.org/get.ps1 | iex

Build from source:
git clone https://github.com/xerj-org/xerj
cd xerj/engine
cargo build --release -p xerj-server

Usage

Start the server locally:
xerj --insecure --data-dir ./data &

Index a folder:
xerj autoindex ~/my-project

Search indexed data:
curl "localhost:9200/ax-*/_search?q=checkout+error"

Structured query with aggregations:
curl localhost:9200/ax-orders/_search -H 'content-type: application/' -d '{
"query": { "range": { "total": { "gte": 100 } } },
"aggs": { "by_status": { "terms": { "field": "status" } } }
}'

Model compatibility and use cases

Not stated in the repository metadata

License and risk notes

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.

Release and maintenance

Not stated in the repository metadata

Firecrawl

firecrawl/firecrawl

★ 161.1KTypeScript

LangChain

langchain-ai/langchain

★ 143.6KPython

RAGFlow

infiniflow/ragflow

★ 86.7KGo