Pomai Search Engine

An in-memory vector search engine designed for deterministic, contract-driven retrieval. Built for fast similarity search and hybrid queries.

C++20 Zero Dependencies Deterministic

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:

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