Qdrant is a Rust-based vector similarity search engine and vector database with payload filtering, for semantic search and recommendation.
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
Download and install the binary
Install with the official instructions in the README - 2
Start the server for local dev (no TLS, no auth)
xerj --insecure --data-dir ./data & - 3
Index a folder of your choice
xerj autoindex ~/my-project - 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
A local, on-device CLI search engine for markdown notes, meeting transcripts and docs, combining BM25, vector search and LLM reranking.
Persistent memory for coding agents that captures session activity, compresses it with AI, and injects relevant context into future sessions.
Local-first AI memory system that stores conversation history verbatim and retrieves it with semantic search, exposed as an MCP server and CLI.
Open-source embedding database for AI apps, storing documents and vectors to power semantic, hybrid and full-text search.
Memory operating system for LLMs and AI agents that stores, retrieves, and manages long-term memory as an editable graph.