I published an article this week on something I kept running into while building a RAG pipeline natively inside ODC.
Semantic search handles conceptual queries well. The moment someone types ERR-BM25-003 into the search box, it returns whatever happens to be thematically adjacent. Not the actual answer.
So I went looking for why, and that led me to BM25. I built it natively inside ODC. No Elasticsearch, no Azure AI Search, no external services. The result is a hybrid retrieval pipeline that fuses BM25 lexical scoring with semantic vector search using Reciprocal Rank Fusion.
What the article covers:
BM25Engine (C# External Logic) and the updated RAG Knowledge Base are both heading to the Forge.
Do your users search by error code, ticket number, field name? Have you hit this in your own ODC apps? I would like to hear what retrieval patterns others are using.https://medium.com/@michael.de.guzman/your-odc-semantic-search-cannot-find-err-bm25-003-here-is-the-fix-a0d836f28312?sharedUserId=michael.de.guzman