In the previous chapter, we saw how scoring and relevancy work in a full text search. We also discussed the Elasticsearch Query DSL in detail and covered the important queries with their use cases. Finally, we talked about using query rewrites and using search templates along with the Mustache template engine. In this chapter, we will focus on topics which are more than just a full text search and we'll learn how to alter the default scoring of Apache Lucene using custom methods. We will also learn about scripting modules of Elasticsearch in detail. By the end of this chapter, we will have covered the following topics:
Controlling multimatching
Controlling the score using the function score query
Optimizing queries and score recalculation using the query rescore
Extended information regarding Elasticsearch scripting
The new scripting language: Painless
Understanding Lucene expressions