I need to implement a personalized search feature using Elasticsearch. My plan is to use Elasticsearch to perform a full-text search based on user queries, and then use something else to re-rank/re-score/personalize/etc the search results based on user data (past searches, company roles, known preferences, etc). I'm new to Elasticsearch.
My question is:
- Is separating the full-text search and personalization layers a good solution? Or is there something that Elasticsearch provides that can do this already without using an additional "personalization" layer to perform on the search results from Elasticsearch?
- What is that something else I can use?
Thank you for your help.