Create a Namespace
Parameters
string
required
Unique identifier. Lowercase with hyphens (e.g.,
product-search).string
required
Must be
"standalone".array
Optional. Pre-declare named vector indexes with specific dimensions and distance metrics. If omitted, MVS uses schema-on-write — vector indexes are created automatically on first upsert with inferred dimensions and cosine metric.
Text Indexes (BM25)
Full-text keyword search runs on payload indexes of typetext. You declare indexes with payload_indexes, then register them in the store with ensure-indexes — which also backfills existing documents with no re-ingestion or re-embedding.
Step 1 — Declare a text index (on an existing namespace, patch payload_indexes):
?force_rebuild=true to drop and rebuild an index from the full store — use this to repair a text/BM25 index that registered empty (e.g. during a cold start).
BM25 matches across all
text-indexed string fields, not a single field. Once a text index exists, run keyword search in a retriever with the lexical option on Feature Search — and fuse it with a dense vector search under rrf for hybrid retrieval.Payload Indexes
Speed up filtered searches by indexing frequently queried fields. Payload indexes use the samepayload_indexes declaration + ensure-indexes flow as text indexes above — just pick the matching type:
keyword, integer, float, bool, datetime, geo, text, uuid. Use dot notation for nested fields (e.g. metadata.title). Arrays are indexed element-wise — index a multi-value field with its element type (objects: ["car", "person"] → keyword) and a filter matches if any element matches.
PATCH merges, PUT replaces. A PATCH is additive: send only the fields
you’re adding and every existing index is kept. Use PUT when you want the body
to be the complete list — any user index you omit there is dropped.You can also GET the namespace, append to payload_indexes, and PATCH the
whole thing back. The protected system entries in that response are ignored on
input, so you don’t need to strip them first.Adaptive Payload Indexes
MVS monitors your query patterns and automatically creates payload indexes when a field appears in filters frequently enough. By default, any field used in >10 queries/hour gets auto-indexed — no manual action needed.
Control this with the
MVS_AUTO_INDEX environment variable (true/false).
Index Suggestions
For fields that don’t yet meet the auto-create threshold, you can check what MVS recommends:Schema-on-Write
Unlike traditional vector databases that require declaring all vector indexes at creation time, MVS is schema-on-write. When you upsert a document with a new vector name, MVS automatically:- Infers the dimension from the first write
- Creates a dense index with the detected dimension and cosine metric
- Enforces schema on subsequent writes (mismatched dimensions raise an error)
Usage Metrics
Get detailed performance and usage metrics for a namespace viaGET /v1/namespaces/{id}/usage.
Response
These metrics feed into usage-based billing. You can also monitor namespace health via the observability dashboard.

