Запрос с усилением
Возвращает документы, соответствующие запросу positive, при этом уменьшая релевантность документов, которые также соответствуют запросу negative.
Вы можете использовать запрос boosting для понижения рейтинга определённых документов без их исключения из результатов поиска.
Пример запроса
resp = client.search(
query={
"boosting": {
"positive": {
"term": {
"text": "apple"
}
},
"negative": {
"term": {
"text": "pie tart fruit crumble tree"
}
},
"negative_boost": 0.5
}
},
)
print(resp) response = client.search(
body: {
query: {
boosting: {
positive: {
term: {
text: 'apple'
}
},
negative: {
term: {
text: 'pie tart fruit crumble tree'
}
},
negative_boost: 0.5
}
}
}
)
puts response const response = await client.search({
query: {
boosting: {
positive: {
term: {
text: "apple",
},
},
negative: {
term: {
text: "pie tart fruit crumble tree",
},
},
negative_boost: 0.5,
},
},
});
console.log(response); GET /_search
{
"query": {
"boosting": {
"positive": {
"term": {
"text": "apple"
}
},
"negative": {
"term": {
"text": "pie tart fruit crumble tree"
}
},
"negative_boost": 0.5
}
}
} Параметры верхнего уровня для boosting
-
positive - (Обязательно, объект запроса) Запрос, который необходимо выполнить. Все возвращаемые документы должны соответствовать этому запросу.
-
negative -
(Обязательно, объект запроса) Запрос, используемый для уменьшения релевантности соответствующих документов.
Если возвращаемый документ соответствует запросу
positiveи этому запросу, запросboostingрассчитывает окончательный рейтинг релевантности документа следующим образом:- Возьмите исходный рейтинг релевантности из запроса
positive. - Умножьте рейтинг на значение
negative_boost.
- Возьмите исходный рейтинг релевантности из запроса
-
negative_boost - (Обязательно, число с плавающей точкой) Число с плавающей точкой от
0до1.0, используемое для уменьшения релевантности документов, соответствующих запросуnegative.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/query-dsl-boosting-query.html