|
@@ -1,81 +0,0 @@
|
|
|
-[[mapping-boost]]
|
|
|
-=== `boost`
|
|
|
-
|
|
|
-Individual fields can be _boosted_ automatically -- count more towards the relevance score
|
|
|
--- at query time, with the `boost` parameter as follows:
|
|
|
-
|
|
|
-[source,console]
|
|
|
---------------------------------------------------
|
|
|
-PUT my_index
|
|
|
-{
|
|
|
- "mappings": {
|
|
|
- "properties": {
|
|
|
- "title": {
|
|
|
- "type": "text",
|
|
|
- "boost": 2 <1>
|
|
|
- },
|
|
|
- "content": {
|
|
|
- "type": "text"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
---------------------------------------------------
|
|
|
-
|
|
|
-<1> Matches on the `title` field will have twice the weight as those on the
|
|
|
- `content` field, which has the default `boost` of `1.0`.
|
|
|
-
|
|
|
-NOTE: The boost is applied only for term queries (prefix, range and fuzzy queries are not _boosted_).
|
|
|
-
|
|
|
-You can achieve the same effect by using the boost parameter directly in the query, for instance the following query (with field time boost):
|
|
|
-
|
|
|
-[source,console]
|
|
|
---------------------------------------------------
|
|
|
-POST _search
|
|
|
-{
|
|
|
- "query": {
|
|
|
- "match" : {
|
|
|
- "title": {
|
|
|
- "query": "quick brown fox"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
---------------------------------------------------
|
|
|
-
|
|
|
-is equivalent to:
|
|
|
-
|
|
|
-[source,console]
|
|
|
---------------------------------------------------
|
|
|
-POST _search
|
|
|
-{
|
|
|
- "query": {
|
|
|
- "match" : {
|
|
|
- "title": {
|
|
|
- "query": "quick brown fox",
|
|
|
- "boost": 2
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
---------------------------------------------------
|
|
|
-
|
|
|
-
|
|
|
-deprecated[5.0.0, "Index time boost is deprecated. Instead, the field mapping boost is applied at query time. For indices created before 5.0.0, the boost will still be applied at index time."]
|
|
|
-[WARNING]
|
|
|
-.Why index time boosting is a bad idea
|
|
|
-==================================================
|
|
|
-
|
|
|
-We advise against using index time boosting for the following reasons:
|
|
|
-
|
|
|
-* You cannot change index-time `boost` values without reindexing all of your
|
|
|
- documents.
|
|
|
-
|
|
|
-* Every query supports query-time boosting which achieves the same effect. The
|
|
|
- difference is that you can tweak the `boost` value without having to reindex.
|
|
|
-
|
|
|
-* Index-time boosts are stored as part of the <<norms,`norm`>>, which is only one
|
|
|
- byte. This reduces the resolution of the field length normalization factor
|
|
|
- which can lead to lower quality relevance calculations.
|
|
|
-
|
|
|
-==================================================
|