Customer Interest Related Keyword search in Elastic Search

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.

iphone - i phone - iphones

shoe - shoes

laptop - laptops

harddisk - hard disk - harddisks

Is the elastic search can give results related to above keywords?

Did you read the link I shared?

yes, i have read these docs, that you shared

Is there any reason you are not providing a full recreation script?

Can i provide the kibana query?

Anything that can help reproducing the problem by copy pasting in Kibana dev console.

When i use the keywords like (iphone, i phone, iphones) in the below query,
it gives the results like "iphone case", "iphone covers", not iphones

{
"query": {
"bool" : {
"must" : [
{
"match": {
"name": {"query":"iphone"}
}
}

            ]
         }

}
}

We've already been through this.
You don't seem to have written any of the pre-processing code we suggested, otherwise your query JSON would look different. There is no magic shortcut here.

I am using pre-processing, as filtering my data,

But, when we use keywords in the query, as below example, for this i need to filter
data using keywords, but there is lot of keywords, and user can enter keywords as

iphone - i phone - iphones
shoe - shoes
laptop - laptops
harddisk - hard disk - harddisks

so, is there any way in elastic search, to understand the above keywords as same?

When i use the keywords like (iphone, i phone, iphones) in the below query,
it gives the results like "iphone case", "iphone covers", not iphones

{
"query": {
"bool" : {
"must" : [
{
"match": {
"name": {"query":"iphone"}
}
}

            ]
         }

}
}

Your query processing rules can be derived from user search/click behaviour - we have tools to help with that but it's not a process that can be automated - you're going to have to write some code.