I have a large commodity dataset consisting of millions of commodites, where each commodity entity consists of
commodity_nameis usually a long sentence such as "Furmax Office Chair Mid Back Swivel Lumbar Support Desk Chair, Computer Ergonomic Mesh Chair with Armrest (Black)".
commodityis usually a word saying what the commodity is, such as "chair"
brandis the brand of the commodity, such as
My purpose is to, given a search query, return a small number (say 5) of most relevant commodities. What I do now is build a reverse-index and return top 5 commodites for a given query. However, I found that it usually did not return the correct commodities. For example, when I queried "iphone", it may return "iphone case" or "iphone charger". I understand the problem occurs due to the fact that "case" and "charger" may also exist in the reverse-index entry as "iphone". What should I do to address this issue? Thanks!