Skip to content
c17 .ioJoin list

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. 1

    XERJ

    Apache-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. 2

    Qdrant

    Apache-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. 3

    Weaviate

    BSD-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. 4

    Milvus

    Apache-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. 5

    pgvector

    Vectors 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. 6

    onyx

    MIT-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

ToolLicenseSelf-hostBest for
XERJApache-2.0EasyA coding agent or mixed folder on one machine, when grep's token bill blows up.
QdrantApache-2.0MediumA dedicated HNSW vector index you already embed into.
WeaviateBSD-3-ClauseMediumThe other OSS vector API if Qdrant is not the shape.
MilvusApache-2.0MediumA larger vector cluster, not a laptop search box.
pgvectorPostgreSQL LicenseEasyA small RAG corpus next to the rest of the app data.
onyxMIT (community); Onyx Enterprise License (ee directories)MediumHelp-center answers with a chat UI, not a raw search API.

Related pages

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.

Sponsor this page