
Why I Switched from ChromaDB to ElasticSearch (and What I Miss)
My AI system had been extracting knowledge from emails for weeks. Thousands of facts, entities, patterns, all sitting in PostgreSQL. The problem was finding any of it. The brain was using hardcoded SQL filters like WHERE category = 'infrastructure' to pull context before making decisions. If a fact about hosting costs was categorized under "billing," the brain would never see it when reasoning about infrastructure. I needed to search by meaning, not by label. But I also needed to search by exact match. An invoice number like "TDS-2026-003" has no semantic meaning. You can't find it with vector search. You need both approaches working together, in one query. That's what led me to Elasticsearch, and that's what this post is about. The Problem With Vector-Only Search ChromaDB had been in my Docker Compose file since the early days. The plan was a full RAG pipeline: embed documents, store vectors, retrieve relevant chunks. In practice, ChromaDB sat mostly idle while the knowledge base grew
Continue reading on Dev.to
Opens in a new tab


