Milvus
Policy-enforced retrieval on Milvus for billion-scale vector search workloads.
Search capabilities
| Vector (ANN) | Keyword (ranked) | Keyword (filter) | Hybrid (native) | Grep (substring) | Grep (regex) |
|---|---|---|---|---|---|
Milvus HNSW: <10ms p99 ANN. Policy overhead <25ms p95.
Milvus is a distributed open-source vector database designed for billion-scale ANN search with rich indexing options (HNSW, IVF, DiskANN) and native hybrid search. Gateco connects to Milvus as a Tier 2 retrieval connector.
Milvus supports named vector fields and sparse vectors for native hybrid search. Gateco's hybrid mode uses Milvus's built-in hybrid search pipeline combining dense and sparse vectors.
Keyword search on Milvus is filter-only: it uses a payload like expression for substring matching with uniform score 1.0. There is no BM25 or TF-IDF ranking. For ranked keyword relevance at scale, pair Milvus (for ANN) with a separate OpenSearch connector.
Milvus does not have a vector listing API in Gateco v1, so retroactive registration is not available. Resources must be registered via the Gateco API or ingestion pipeline.
Sample search config
{
"collection_name": "knowledge_base",
"vector_field": "embedding",
"output_fields": ["content", "classification", "department"]
}Sample policy
{
"name": "Engineering document access",
"effect": "allow",
"rules": [{
"conditions": [
{"field": "principal.department", "operator": "eq", "value": "engineering"},
{"field": "resource.classification", "operator": "neq", "value": "restricted"}
]
}],
"selectors": [{"connector_type": "milvus"}]
}Policy conditions reference resource.* and principal.* fields. Policy reference →
Frequently asked questions
- Does Milvus support retroactive registration?
- Not in Gateco v1. Milvus does not have a listing API that Gateco can use to enumerate existing vector IDs. Resources must be registered via the Gateco ingestion API or manually via the resource API.
- Is Milvus keyword search ranked?
- No. Milvus keyword search uses a like expression for substring matching. All matching documents get score 1.0. Use the vector or hybrid mode for ranked relevance.
- How does Gateco handle Milvus partitions?
- The collection_name in the search config identifies the Milvus collection. Partition filtering can be added as a policy condition if your Milvus schema uses partition keys as metadata fields that Gateco can evaluate.
Ready to connect Milvus?
Follow the step-by-step setup guide or talk to the team for help with your specific configuration.