Skip to content

Commit

Permalink
Deprecate document _boost
Browse files Browse the repository at this point in the history
  • Loading branch information
clintongormley authored and brusic committed Jan 19, 2014
1 parent 1802c4b commit eaa3021
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions docs/reference/mapping/fields/boost-field.asciidoc
@@ -1,6 +1,8 @@
[[mapping-boost-field]]
=== `_boost`

deprecated[1.0.0.RC1,See <<function-score-instead-of-boost>>]

Boosting is the process of enhancing the relevancy of a document or
field. Field level mapping allows to define explicit boost level on a
specific field. The boost field mapping (applied on the
Expand Down Expand Up @@ -30,3 +32,41 @@ following JSON document will be indexed with a boost value of `2.2`:
"message" : "This is a tweet!"
}
--------------------------------------------------

[[function-score-instead-of-boost]]
==== Function score instead of boost

Support for document boosting via the `_boost` field has been removed
from Lucene and is deprecated in Elasticsearch as of v1.0.0.RC1. The
implementation in Lucene resulted in unpredictable result when
used with multiple fields or multi-value fields.

Instead, the <<query-dsl-function-score-query>> can be used to achieve
the desired functionality by boosting each document by the value in
any field the document:

[source,js]
--------------------------------------------------
{
"query": {
"function_score": {
"query": { <1>
"match": {
"title": "your main query"
}
},
"functions": [{
"script_score": { <2>
"script": "doc['my_boost_field'].value"
}
}],
"score_mode": "multiply"
}
}
}
--------------------------------------------------
<1> The original query, now wrapped in a `function_score` query.
<2> This script returns the value in `my_boost_field`, which is then
multiplied by the query `_score` for each document.


0 comments on commit eaa3021

Please sign in to comment.