Full-text search. No separate cluster.
BM25 tokenised full-text search across any stored attribute — in the same namespace and through the same API as your vector search. No Elasticsearch. No secondary index to maintain.
BM25 ranking, stored in your bucket.
Ranking
Okapi BM25 scoring
Industry-standard BM25 ranking with term frequency saturation and document length normalization. Better than TF-IDF, with no external search engine dependency.
Tokenization
Multi-language tokenizer
Unicode-aware tokenization supporting Latin, CJK, and other character sets. Stopword removal and stemming configurable per namespace.
Attributes
Search across any stored field
Full-text search targets the text attributes you store alongside each vector. Search across title, body, metadata fields — no schema declaration needed upfront.
Storage
Inverted index in your bucket
The inverted index is stored as objects in your bucket — not on ManyVector disks. Same durability and sovereignty guarantees as your vector data.
Filtering
Combine with metadata filters
Pair full-text search with structured attribute filters. Search for "invoice" only in documents where source == "finance" and date > "2025-01-01".
Hybrid
Fuse with vector results via RRF
Use full-text as a standalone search or combine with vector results using Reciprocal Rank Fusion for the highest-quality retrieval in a single query.
Full-text search without the ops overhead.
BM25
ranking algorithm
<5ms
p50 text query
Any
language supported
1
API for all search modes
Common questions
What ranking algorithm powers full-text search?
BM25 (Okapi BM25) — the same algorithm used by Elasticsearch and Lucene. It ranks results by term frequency and inverse document frequency, tuned per field length.
Do I need a separate search engine?
No. Full-text search is built into ManyVector's query API. No Elasticsearch, no OpenSearch, no separate cluster to operate.
How do I control which fields are searchable?
Pass searchable_attributes when creating your namespace. Only those fields are tokenized and indexed for text queries.
Is stemming and stop-word removal supported?
Yes. ManyVector applies Unicode-aware tokenization and English stemming by default. Additional language configurations are available in the API.