XERJ
Open-source AI-native search engine in a single Rust binary that indexes folders and code for agents and speaks the Elasticsearch API.
At a Glance
Free, full-feature single-node tier for POC, dev and OSS projects; core is Apache-2.0 licensed.
Engagement
Available On
Listed Nov 2026
About XERJ
XERJ is an Apache-2.0 search engine written in Rust and shipped as one static binary. It indexes code, documents and data so an AI agent can query an index instead of reading files into its context window, and it exposes the Elasticsearch REST API so existing clients connect unchanged. The latest release listed is v1.0.0-rc.95.
What It Is
XERJ is a local search and retrieval engine aimed at coding agents and other AI agents. Running xerj autoindex <folder> sniffs every file by content, infers types and mappings, and creates typed indices with no schema or pipeline to write. Source files are parsed with tree-sitter so results are functions with symbols and line numbers rather than flat text. It handles code, CSV, JSON, JSONL, XML, YAML, SQLite, PDF, DOCX, HTML, mail and common log formats.
Reference Coding Workflow
The project's main described use case is reference coding: clone the open-source repos closest to what you are building, index them once, and have the agent retrieve the exact definition before writing code. xerj search returns ranked passages with file:line, and xerj def answers where a symbol is defined along with its signature. According to the vendor's case study, retrieval used 2.7x fewer output tokens than a grep-driven agent at the same solve rate across eight tasks. The project states the benefit is gated by memorisation: it helps on private, niche or post-cutoff code and is neutral to harmful on popular libraries the model already knows.
Search, Memory and Agent Access
XERJ covers full-text BM25, kNN vector search and hybrid fusion (RRF) in one query tree. The default embedder is lexical and offline, and a neural embedder is opt-in. A namespaced /_memory REST API stores and recalls agent memories, and a /_graph layer links indexed documents with evidence. xerj mcp runs an MCP stdio server that proxies tools such as search, semantic search, hybrid search, memory and code search to a running node. An optional rerank stage can send result text to the external Jev service, and a local history-vote decision endpoint is also offered.
Elasticsearch Compatibility and Deployment
XERJ implements the Elasticsearch REST API for indices, documents, bulk, search, aggregations, kNN and _cat endpoints. The project reports 1366 of 1369 conformance cases passing and publishes benchmark results against Elasticsearch, including losses. Prebuilt binaries cover Linux, macOS and Windows on x86-64 and arm64, installed with a one-line script or built from source with Rust. The --insecure dev mode disables TLS and auth and is meant for a single user on a dev machine.
Community Discussions
Be the first to start a conversation about XERJ
Share your experience with XERJ, ask questions, or help others learn from your insights.
Pricing
Community
Free, full-feature single-node tier for POC, dev and OSS projects; core is Apache-2.0 licensed.
- Full feature set, single-node
- ES 8.13 wire protocol · 50 query types
- kNN (HNSW + exact) + SQ8 · BM25 · columnar logs · agent memory
- Community support · GitHub · forum
- No SLA · best-effort response
Professional
HA production tier for mid-size enterprise, priced per node; quote on request.
- HA cluster · 3 nodes · sync replication
- Business-hours support · 24 h response
- 99.95 % availability SLA
- Quarterly health review
- Helm chart · Terraform module
Enterprise
Multi-region, regulated, global enterprise tier with custom pricing.
- Operator-staged air-gapped deployment
- 24×7 support · 1 h response
- 99.99 % availability SLA
- Dedicated CSM + solutions architect
- HIPAA BAA · custom compliance
- Private roadmap input · early-access builds
Capabilities
Key Features
- Zero-config folder indexing with xerj autoindex
- Tree-sitter AST code search with symbols and line numbers
- Go-to-definition via xerj def
- BM25, kNN and hybrid RRF search in one query
- Elasticsearch-compatible REST API
- Agent memory API (/_memory) with per-namespace isolation
- Knowledge link graph (/_graph) with evidence
- MCP stdio server with search, memory and code-search tools
- Resumable, idempotent ingest
- Offline lexical embedder with opt-in neural embedder
- Optional rerank stage via external judge
- Read-only share links for indexed folders
- Single static binary with no JVM
