One caveat I had with this method is that ts_rank and ts_rank_cd methods are not as sharp as BM25 can be within elastic search, and that can be a little confusing first hand
Great breakdown. Search at Instacart is not just keyword matching; it is about intent, ranking, inventory, and real-time product availability. Curious question: what is harder at this scale, showing the most relevant product or keeping results accurate when inventory changes store by store?
The deeper lesson is that AI search only creates business value when it is tied to operational truth. Grocery is messy: products go out of stock, stores vary by location, names are inconsistent, and customer language rarely matches catalog taxonomy. A standalone “smart search” layer is not enough if it is disconnected from fresh inventory and business rules.
Great insight ! what a coincidence, I just wrote about it today too, you might take a look at it : https://quentin209.substack.com/p/postgres-vs-elasticsearch-for-hybrid?r=7pgxx7
One caveat I had with this method is that ts_rank and ts_rank_cd methods are not as sharp as BM25 can be within elastic search, and that can be a little confusing first hand
Great breakdown. Search at Instacart is not just keyword matching; it is about intent, ranking, inventory, and real-time product availability. Curious question: what is harder at this scale, showing the most relevant product or keeping results accurate when inventory changes store by store?
The deeper lesson is that AI search only creates business value when it is tied to operational truth. Grocery is messy: products go out of stock, stores vary by location, names are inconsistent, and customer language rarely matches catalog taxonomy. A standalone “smart search” layer is not enough if it is disconnected from fresh inventory and business rules.