Repolode
xerj-org

xerj-org/xerj

Local AI search engine that auto-indexes any folder (code, docs, logs, PDFs) and speaks the Elasticsearch API, built in Rust.

Open-source alternative to:Elasticsearch

Stars
8,758
Forks
470
Open issues
86
Last commit
yesterday

What is it?

XERJ is a single Rust binary that indexes a folder with one command, `xerj autoindex <folder>`. It detects file types on its own and builds one queryable index per dataset, covering source code (parsed with tree-sitter so symbols and line numbers are kept), CSV, JSON, YAML, SQLite, PDF, Office documents, email and log files, with no schema or pipeline to write.

It is aimed at giving coding agents and RAG pipelines a way to retrieve exact passages instead of reading whole files. Search supports BM25 full-text, kNN vector search and hybrid queries over the Elasticsearch REST API, so existing Elasticsearch clients and Kibana can connect directly. An MCP server exposes the search, memory and graph tools to MCP-capable clients such as Claude Code and Cursor.

The default embedder is lexical and runs offline; a neural embedder is opt-in and needs model files downloaded first. The `--insecure` development mode disables TLS and authentication, so it is intended for a single user on a local machine.

Key features

  • 01One command auto-indexes a folder, detecting file types and creating an index per dataset.
  • 02Source code is parsed with tree-sitter, keeping symbols and line numbers.
  • 03Elasticsearch-compatible REST API, so existing clients and Kibana connect directly.
  • 04Supports BM25 full-text, kNN vector and hybrid search in one engine.
  • 05Ships an MCP server for agents such as Claude Code and Cursor.
  • 06Distributed as a single static binary with no JVM for Linux, macOS and Windows.

Use cases

  • Letting a coding agent search a codebase for exact functions instead of reading whole files.
  • Building RAG or codebase Q&A over local documents without a separate vector database.
  • Running security audits by querying sink patterns or secrets across a source tree.
  • Replacing a self-hosted Elasticsearch deployment for log analysis on a single machine.

Quick start

  1. 1
  2. 2

    Start the server for local dev (no TLS, no auth)

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

    Index a folder of your choice

    xerj autoindex ~/my-project
  4. 4

    Run a search query against the indexed folder

    xerj search "how do we rotate the WAL segment"

Things to know

  • The --insecure flag disables TLS and API-key auth, so it is only safe for a single user on a dev machine.
  • Neural embedding mode is opt-in and downloads about 90 MB of model files.

Topics

FAQ

What is xerj?
Local AI search engine that auto-indexes any folder (code, docs, logs, PDFs) and speaks the Elasticsearch API, built in Rust. XERJ is a single Rust binary that indexes a folder with one command, `xerj autoindex <folder>`. It detects file types on its own and builds one queryable index per dataset, covering source code (parsed with tree-sitter so symbols and line numbers are kept), CSV, JSON, YAML, SQLite, PDF, Office documents, email and log files, with no schema or pipeline to write.
Is xerj free to use? What license does it have?
xerj is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is xerj still maintained?
Actively maintained. The last commit to xerj was on Oct 19, 2026.
What can I use xerj for?
Letting a coding agent search a codebase for exact functions instead of reading whole files. Building RAG or codebase Q&A over local documents without a separate vector database. Running security audits by querying sink patterns or secrets across a source tree. Replacing a self-hosted Elasticsearch deployment for log analysis on a single machine.
How do I install xerj?
Download and install the binary Start the server for local dev (no TLS, no auth): xerj --insecure --data-dir ./data & Index a folder of your choice: xerj autoindex ~/my-project Run a search query against the indexed folder: xerj search "how do we rotate the WAL segment"
Where can I get xerj?
The source code and installation instructions are on GitHub: https://github.com/xerj-org/xerj

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects