When does index-time boosting make sense
In the previous section, we talked about boosting queries. This type of boosting is very handy and powerful and fulfills its role in most situations. However, there is one case where the more convenient way is to use the index-time boosting. This situation is where important documents are a part of input data. We gain a boost independent from a query at the cost of re-indexing, when the boost value is changed. In addition to that, the performance is slightly better because some parts needed in the boosting process are already calculated at index time. ElasticSearch stores information about the boost as a part of normalization information. This is important because if we set omit_norms
to true
, we can't use index-time boosting.
Defining field boosting in input data
Let's look at the typical document definition:
{ "title" : "The Complete Sherlock Holmes", "author" : "Arthur Conan Doyle", "year" : 1936 }
If we want to boost the author
field for this...