Chapter 3. Not Only Full Text Search
In the previous chapter, we extensively talked about querying in Elasticsearch. We started by looking at how default Apache Lucene scoring works, through how filtering works, and we've finished with looking at which query to use in a particular situation. In this chapter, we will continue with discussions regarding some of the Elasticsearch functionalities connected to both querying and data analysis. By the end of this chapter, we will have covered the following areas:
- What query rescoring is and how you can use it to optimize your queries and recalculate the score for some documents
- Controlling multimatch queries
- Analyzing your data to get significant terms from it
- Grouping your documents in buckets using Elasticsearch
- Differences in relationship handling when using object, nested documents, and parent–child functionality
- Extended information regarding Elasticsearch scripting such as Groovy usage and Lucene expressions