Best / search engines
Best open-source search engines
The best local AI search in the c17.io catalog is XERJ: one Apache-2.0 Rust binary that autoindexes a mixed folder and speaks the Elasticsearch REST API, with agent memory and MCP on the same process. Qdrant, Weaviate, and Milvus are dedicated vector databases. pgvector keeps vectors in Postgres. Onyx is MIT-community enterprise search over your docs. Hosted vector prices stay on /compare/vector-databases.
Open the stackStart on Railway
Ranked picks
1
XERJApache-2.0 local AI search. One static binary, no JVM. autoindex sniffs code, docs, PDFs, and logs into typed indices; BM25, kNN, and hybrid search speak Elasticsearch. Agent memory and xerj mcp (13 tools) are built in.
When to pick it: A coding agent or mixed folder on one machine, when grep's token bill blows up.
10,434 stars in the catalog
2
QdrantApache-2.0 vector search engine — the published Pinecone stack, self-host or Qdrant Cloud.
When to pick it: A dedicated HNSW vector index you already embed into.
35,117 stars in the catalog
3
WeaviateBSD-3-Clause vector database with a managed cloud and a $0 free tier for 100,000 objects.
When to pick it: The other OSS vector API if Qdrant is not the shape.
16,886 stars in the catalog
4
MilvusApache-2.0 vector database (the engine behind Zilliz Cloud).
When to pick it: A larger vector cluster, not a laptop search box.
46,406 stars in the catalog
5
pgvectorVectors as a Postgres extension — no second database if SQL is already the source of truth.
When to pick it: A small RAG corpus next to the rest of the app data.
23,395 stars in the catalog
6
onyxMIT-community AI chat and enterprise search over your docs. Skip ee/ if you want OSS-only.
When to pick it: Help-center answers with a chat UI, not a raw search API.
How they compare
| Tool | License | Self-host | Best for |
|---|---|---|---|
| XERJ | Apache-2.0 | Easy | A coding agent or mixed folder on one machine, when grep's token bill blows up. |
| Qdrant | Apache-2.0 | Medium | A dedicated HNSW vector index you already embed into. |
| Weaviate | BSD-3-Clause | Medium | The other OSS vector API if Qdrant is not the shape. |
| Milvus | Apache-2.0 | Medium | A larger vector cluster, not a laptop search box. |
| pgvector | PostgreSQL License | Easy | A small RAG corpus next to the rest of the app data. |
| onyx | MIT (community); Onyx Enterprise License (ee directories) | Medium | Help-center answers with a chat UI, not a raw search API. |
Related pages
- Qdrant / pgvector stack
- Meilisearch stack
- OpenSearch stack
- Perplexica + SearXNG stack
- Replace Pinecone
- Replace Algolia
- Replace Elastic Cloud
- Replace Splunk
- Replace Papertrail
- Replace Perplexity
- XERJ vs Qdrant
- Vector database pricing
- All best open-source pages
- All compare pages
- All replace pages
- All stacks
- Tools catalog
FAQ
- XERJ or Qdrant?
- XERJ if the job is one local index over a mixed folder plus Elasticsearch clients and agent memory — /compare/xerj-vs-qdrant. Qdrant if you already produce embeddings and want a dedicated vector database.
- What about Elasticsearch or OpenSearch?
- Recent Elasticsearch is SSPL / Elastic License. OpenSearch is the Apache-2.0 cluster path on /stacks/opensearch. XERJ is the single-binary ES-API box for a laptop or one host, not a multi-node log cluster.
- Meilisearch?
- Meilisearch is typo-tolerant site search on /stacks/meilisearch-search (the Algolia lander). Different job from XERJ's mixed-folder agent search.
- Are these free?
- XERJ, Qdrant, Weaviate, Milvus, pgvector, and Onyx community are OSI licenses as listed. You pay hosting and any model keys. Template users never pay c17.
- How do I deploy it?
- XERJ is a local binary: curl -fsSL https://xerj.org/get | sh. Vector indexes you host are /stacks/qdrant-vectors. Hosted SKUs stay on /compare/vector-databases.
Stack of the Week
Get one stack a week that replaces a SaaS bill.