Can semantic search with correlation between fields can be implemented with Elasticsearch ?
I have ecommerce data indexed to Elasticsearch with below fields and description is vector text embedded.
I would like to have to have semantic search functionality implemented for search if I search something like "products below 100$". expectation is Elasticsearch to return corresponding products less than 100$. Can this functionality achieved with Elasticsearch ? if yes, pls guide with relevant details and documentation for such implementation
Hi @Peter_Steenbergen , Thank you for your response.
We are not looking to add filters inside KNN. As we are trying to achieve this with semantic search, we are expecting Elasticsearch to understand intent of user search query.
Is there anyway to achieve this this either with ELSER or with some other Model can be deployed on Elasticsearch ?
Hey @sivagurlinka . At the moment the best way to do this in a general purpose way is to use an LLM first to "self query" the index metadata and decide which parts of the query are filters versus keywords. This can be accomplished using the LangChain module of the same name: Self-querying | 🦜️🔗 Langchain
You would need to be cautious with the latency and cost ($) of using an LLM to reflect in this way though.
For a more scalable and cost effective approach, there are several methods to choose from but it's typically best to start with some hand-crafted rules as there is nothing out-of-the-box in Elasticsearch (yet) to do this automatically.
If you go down that road, have a look at libraries like Duckling which can help.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.