Please suggest me how to get Elastic Search performance

Hi Guys,
I am new to this forum and also new to the elastic search.
I want to implement elastic search in my project. I am going to have almost 11 millions of document in my system which consist of data like Artist,Genre,Song,Language,Year,Movie,Sub Genre, Song code and 2-3 more fields.
I want to recommend the songs to my user on the basis of either genre or artist or song or language either any of the parameters above or combination of these fields but i want all these within 10ms.

So is it possible elastic search will provide me query results in 10ms ?

if yes that what parameters i need to consider for implementation ?

Note :- i will be having full name of the fields while searching so i am not going to implement tokenizer.

I am going to use mostly custom analyzer and filters like whitespace and special characters.

So guys please suggest me how to get results in 10ms from 10 millions of documents.


first of all I don't understand how you arrive at the 10ms limit. Do have an SLA that search queries are not allowed to take longer than that? Is this the absolute maximum? The 90% percentile? The median response time? This limit is really very tight if you also consider the unavoidable network latency (even in a fast switched network), GC pauses, OS scheduling jitter and other factors on hardware, OS and JVM level.

It is also hard to tell from what you describe as there are still a lot of parameters. It depends just on too many factors. I suggest you start with a concrete scenario, setup a test cluster and run queries against it. From there on you can start to tune your system (or stop if the performance is already meeting your target).

We have recently released Rally for exactly that purpose:

You should also look for tips in the Elasticsearch Definitive Guide