Who it is forA search team whose semantic search misses exact names, codes and rare terms.
The problemDense vectors alone can miss exact keyword matches users expect.
The outcomeSearch that combines BM25 or learned sparse embeddings with dense semantic results.
What you need first
- Python and the pymilvus SDK
- Milvus Lite for a local file, or a deployed Milvus server or Zilliz Cloud with credentials
- An embedding model to create vectors
Steps
- Connect to Milvus with
MilvusClientusing your server URI and token - Follow the Full Text Search with Milvus tutorial to enable BM25
- Follow the Hybrid Search with Milvus tutorial to combine dense and sparse embeddings
- Compare results against dense-only search on real queries
- Turn on authentication, TLS and RBAC before exposing the server
Prompt for your agent
On my milvus-io/milvus server, add BM25 full text search and hybrid search for collection <name> following the README's tutorials. Compare hybrid and dense-only results on <queries> and recommend which to ship.
Caveat. Hybrid search setup lives in the linked tutorials, not in the README itself.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for milvus-io/milvus and "Add full text and hybrid search to vector search"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer