Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Query DSL ›Compound queries

Запрос с усилением

Возвращает документы, соответствующие запросу 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 рассчитывает окончательный рейтинг релевантности документа следующим образом:

  1. Возьмите исходный рейтинг релевантности из запроса positive.
  2. Умножьте рейтинг на значение 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API