When does index-time boosting make sense?
In the previous section, we discussed boosting queries. This type of boosting is very handy and powerful and fulfills its role in most situations. However, there is one case when the more convenient way is to use index-time boosting. This is the situation when we know which documents are important during the index phase. We gain a boost that is independent from a query at the cost of reindexing (we need to reindex the document 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, which looks as follows:
{ "title" : "The Complete Sherlock Holmes", "author" : "Arthur...