Milvus vector store
Milvus is a distributed vector database, selected via VECTOR_STORE_PROVIDER=milvus.
Enable it
bash
VECTOR_STORE_PROVIDER=milvus
MILVUS_URI=http://localhost:19530
MILVUS_TOKEN=your-milvus-tokenInstall the client: pip install pymilvus.
Configuration
| Variable | Default | Description |
|---|---|---|
VECTOR_STORE_PROVIDER | pgvector | Set to milvus to use this store. |
MILVUS_URI | http://localhost:19530 | URI of a running Milvus server (>= 2.4, standalone or cluster). |
MILVUS_TOKEN | (empty) | Optional auth token. |
Notes
- Unit-tested against a mocked pymilvus client, not integration-tested against a live server. Expression syntax and client-method signatures target the pymilvus 2.4
MilvusClientAPI but are unverified end to end. keyword_searchhas no BM25: it degrades to a scoped fetch of up to a scan limit plus Python term-overlap scoring, so recall is capped and scores are not comparable tots_rank.listordering andlist_scope_valuesare handled in Python (no ORDER BY, no DISTINCT) over a capped scan.- Partial updates (
update/invalidate/increment_access/set_related_memory_ids) are read-modify-write upserts, not atomic field updates, so concurrent writers to the same id can lose an update. - Writes are not immediately visible to reads (Milvus is eventually consistent), unlike pgvector's read-your-writes. Milvus has no timestamp type, so
valid_touses a year-9999 sentinel in place of Postgres'infinity'.