123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- [[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,js]
- --------------------------------------------------
- PUT my_index
- {
- "mappings": {
- "properties": {
- "title": {
- "type": "text",
- "boost": 2 <1>
- },
- "content": {
- "type": "text"
- }
- }
- }
- }
- --------------------------------------------------
- // CONSOLE
- <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,js]
- --------------------------------------------------
- POST _search
- {
- "query": {
- "match" : {
- "title": {
- "query": "quick brown fox"
- }
- }
- }
- }
- --------------------------------------------------
- // CONSOLE
- is equivalent to:
- [source,js]
- --------------------------------------------------
- POST _search
- {
- "query": {
- "match" : {
- "title": {
- "query": "quick brown fox",
- "boost": 2
- }
- }
- }
- }
- --------------------------------------------------
- // CONSOLE
- 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.
- ==================================================
|