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.