Create a Namespace
Parameters
Unique identifier. Lowercase with hyphens (e.g.,
product-search).Must be
"standalone".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.
| Field | Type | Description |
|---|---|---|
name | string | Index name (e.g., text_embedding) |
dimension | integer | Must match your model’s output dimension |
metric | string | cosine (default), dot, or euclidean |
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).
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.| Setting | Default | Description |
|---|---|---|
auto_create_payload_indexes | true | Auto-create payload indexes when filter threshold is hit |
filter_threshold | 10 queries/hour | How many filter queries before auto-indexing |
auto_create_text_indexes | false | BM25 indexes are heavier — suggest-only by default |
check_interval_s | 600 (10 min) | How often the advisor checks query patterns |
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
| Metric | Description |
|---|---|
vectors.by_name | Vector count per named index — useful for checking partial coverage |
storage.by_tier | Bytes across hot/cold/archive tiers |
queries.by_type | Breakdown by search type — informs cost optimization |
shards.hot / shards.cold | Shard distribution across tiers |
Other Operations
| Operation | Method | Endpoint |
|---|---|---|
| Get info | GET | /v1/namespaces/{id} |
| Delete | DELETE | /v1/namespaces/{id} |
| Clone | POST | /v1/namespaces/{id}/clone |
| Vector metadata | PUT | /v1/namespaces/{id}/vector-metadata |

