In the last chapter, we focused on two special kinds of nodes in Elasticsearch: ingest nodes and tribe nodes. We read about how one can do preprocessing and enrichment of data within Elasticsearch itself, and then we saw how to use a tribe node to enable cross cluster searching and called a federated search.
In this chapter, we are going to focus primarily on performance improvements of Elasticsearch clusters and how to scale them under different loads and scenarios. Additionally, we will also see how to work with query profiling and query benchmarking to know which part of the query takes more time to execute. In the end, we will also discuss general Elasticsearch cluster tuning considerations, under high query rate scenarios versus high indexing throughput scenarios. By the end of this chapter we will have covered the following topics:
Validating queries and using the query profiler to measure performance
What the hot threads API is and how it can help you...