Customer Interest Related Keyword search in Elastic Search

How to create Customer Interest Related Keyword search in Elastic Search?
Like "Laptop" keyword
Then Laptops should display first, not Laptop Bags first, not laptop stand, and other, these should display in last

There's two main approaches:

  1. Promote the primary products
  2. Demote the products that are accessories (cases, cables etc).

Using aggregations to offer filters e.g by department, category price etc is also useful.

1 Like

Still, i am not getting results for customers most related keywords products

Did you look at the links I shared?

Yes, i have tried both solutions on large eCommerce database, it is not working properly

Is this something that needs raising as a bug?

yes, customers interest, most related keywords products, is mandatory for ecommerce, otherwise, it lacks the customers interest, if customer not finds interest related products, first

Specifically, what is "not working properly" about the features I linked to?

From your suggestions and links, i am not getting results related to keywords,
Like "Laptop" keyword
Then Laptops should display first, not Laptop Bags first, not laptop stand, and other, these should display in last
I am getting same results from your solution links, as you suggest

My suggestions may be too low-level for you - they would involve development of custom application logic using these APIs to manage the set of promotions or demotions associated with particular search terms.
If you're looking for a code-free solution to tuning relevance then I suggest you take a look at our app-search product and, in particular, its ability to curate search results.

I need a code solution, using any elastic search api
If you have any code solution or any api, so please suggest me

You probably need to pre-process certain searches before sending them to elasticsearch.

One approach is to write application code to map trigger search terms people type (like "laptop") to one of the 2 API calls I listed (those that promote laptops or demote laptop cases). Your code should also spot the exceptions to this rule in the search input (the keywords "case" or "cover").
You can machine-learn the set of trigger keywords by searching an index of product descriptions or query click logs. Use the significant_text aggregation to find the significant words connected to "case" or "cover". These are the trigger words I found from the (dated) BestBuy click logs for searches containing "cover":

 ipad, ipad2, iphone, ipod, keyboard, kindle, laptop, macbook, nook, phone, tablet, xoom

If you're starting out on this relevance tuning journey I'd recommend this book.

But the preprocess will make search slower.

Not really. Looking up search terms in a hashmap of trigger keywords will be negligible.

KEYWORD|ISSUE|
|sanatizers|Misspelled Keyword giving null results.|
Improper results shows on keywords

Sorry I don’t understand

For eg.
wrong keyword spelling - sanatizers,
correct keyword spelling - sanitizers,
[
'query'=>[
//'dfs_query_then_fetch' => true,
'query_string'=>[
'fields'=>[ 'name'],
'lenient'=>true,
'query'=>'sanatizers',
]
]
]

|Misspelled Keyword giving null results.|

IS elastic search checks wrong keywords spelling?

Is ELASTIC SEARCH, does not give same results on plural keywords

Could you provide a full recreation script as described in About the Elasticsearch category. It will help to better understand what you are doing. Please, try to keep the example as simple as possible.

A full reproduction script is something anyone can copy and paste in Kibana dev console, click on the run button to reproduce your use case. It will help readers to understand, reproduce and if needed fix your problem. It will also most likely help to get a faster answer.