We’re finding that semantic search alone misses exact product codes (e.g., "SKU-9902"). Does Chroma DB now support native hybrid search like Weaviate does, or do we still need to run a separate Elasticsearch instance and fuse the results ourselves using RRF?
3 answers
As of the latest v0.6+ releases in 2025/2026, Chroma has native support for hybrid search. You can enable a "full-text" index on your documents alongside the vector index. When you query, you use the hybrid_search method which performs both a BM25 keyword search and a vector similarity search, then applies Reciprocal Rank Fusion (RRF) to give you a single ranked list. It’s perfect for those SKU or part-number cases where "semantics" don't matter but exact matches do.
Can we adjust the weights of the hybrid search? Sometimes I want 80% weight on the vector and 20% on the keyword.
Make sure you include the full_text_search=True flag when creating your collection, otherwise the BM25 index won't be built.
Great catch, Charles. I almost missed that in the docs. The hybrid capability makes Chroma a much stronger competitor to more complex "enterprise" databases.
Currently, Chroma uses a standard RRF which doesn't rely on manual weights—it’s more about the relative rank. If you need custom weighting, you might still need to pull the raw scores and do the math yourself, but for 90% of use cases, the native RRF is spot on.