Why Pomai Search?
Pomai Search is a full search engine with a deterministic contract, replayable snapshots, and policy-first planning. While FAISS is a similarity library, Pomai adds:
- Deterministic Ranking: Stable ordering + NaN-safe scores.
- Explainability: Explain plans with per-stage budgets and score breakdowns.
- Policy Planner: Enforce latency and candidate budgets.
- Safety: Replayable snapshots + contract tests for regression gating.
In short: Pomai returns a contract, not a surprise.
Quickstart (CLI)
Build the server and run a simple instance:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
# Run server
./build/pomai_search/pomai-searchd --dim 3 --shards 2 --port 8080 --index flat
Basic Operations
# 1. Upsert a document
./build/pomai_search/pomai-search --command upsert \
--key doc-1 --vector 1,0,0 --metadata tag=demo --text "hello world"
# 2. Vector search
./build/pomai_search/pomai-search --command search --vector 1,0,0 --topk 5
# 3. Hybrid search
./build/pomai_search/pomai-search --command search_hybrid \
--vector 1,0,0 --text "hello" --alpha 0.7 --topk 5