open-index vs xerj
Agent memory and search projects compared
open-index builds structured, domain-specific agent memory as a searchable context graph, using SQLite with FTS5 by default and OpenSearch for shared deployments. xerj indexes code and other files for local BM25, vector, and hybrid search, and includes an MCP server in a Rust binary.

open-index: Build Agent Memory on SQLite and OpenSearch
Open Index is a domain-agnostic memory layer for agents, built around a searchable context graph with SQLite and FTS5 by default, plus an OpenSearch backend. Define structured concepts and relationships, then let agents search and maintain that knowledge through MCP.

xerj: Local-First Search for Code and AI Agents
XERJ is a Rust search engine and MCP server for AI agents, combining BM25, vector and hybrid search behind an Elasticsearch-compatible API. It indexes local code and other files for code search, RAG and agent memory, and runs on Linux, macOS and Windows.
| open-index | xerj | |
|---|---|---|
| Language | Python | Rust |
| License | MIT | Apache-2.0 |
| Stars | 112 | 13.2k |
| Forks | 5 | 947 |
| Last analyzed | Oct 21, 2026 | Oct 23, 2026 |
Key differences
- open-index centers on schemas, entities, and relationships; xerj centers on searching passages, code symbols, and files.
- open-index is written in Python and licensed under MIT; xerj is written in Rust and licensed under Apache-2.0.
- open-index uses SQLite by default and offers OpenSearch for shared deployments; xerj is designed for local-first use and provides an Elasticsearch-compatible API.
- open-index supports connector ingestion and bulk imports, while xerj automatically indexes folders and skips unchanged files during incremental indexing.
- open-index has 112 stars and 5 forks; xerj has 13.2k stars and 947 forks. Both are less than six months old and changing quickly.
- open-index targets teams modeling domain knowledge for agents; xerj targets developers and teams searching local code, documents, logs, and other files.
Choose open-index if you…
- need structured domain concepts, entities, and relationships for agent memory.
- want SQLite with FTS5 by default, or OpenSearch for a shared multi-writer brain.
- prefer Python and an MIT-licensed project.
Choose xerj if you…
- need local search across code and mixed file types through BM25, vector, or hybrid search.
- want a Rust binary with an included MCP server and namespace-based agent memory.
- need code symbol lookup or reference-code search across repositories.
Compare the numbers side by side, or add more projects
This comparison is generated with AI from the OSRepos analyses of both projects. Always check each project's repository and documentation before choosing.