In the previous chapter, we discussed different ways of querying Elasticsearch. For a given query, we looked into different ways of controlling the relevance score to get back the most relevant results at the top. In this chapter, we will discuss how to deal with typos, spelling mistakes, and auto-completing the query before the user finishes typing the query. We will talk about how to handle relationships and joins using nested and parent-child mappings and discuss the advantages and disadvantages of using one versus the other. We will also discuss how to include geolocation in your queries. You’ll learn about the percolate query, which is one of the very popular features of Elasticsearch. The main functionality of percolate query is reverse search; we will explore why it is important and the...