Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Запрос DSL ›Специализированные запросы

Запрос Pinned

Выводит выбранные документы на более высокие позиции, чем документы, соответствующие заданному запросу. Эта функция обычно используется для направления поисковых запросов на отобранные документы, которые выводятся на передние позиции по сравнению с любыми «органическими» результатами поиска. Отобранные или «закреплённые» документы идентифицируются с помощью идентификаторов документов, хранящихся в поле _id.

Пример запроса

GET /_search
{
  "query": {
    "pinned": {
      "ids": [ "1", "4", "100" ],
      "organic": {
        "match": {
          "description": "iphone"
        }
      }
    }
  }
}

Параметры верхнего уровня для pinned

ids
(Необязательный массив) Идентификаторы документов в порядке их появления в результатах. Требуется, если docs не указан.
docs

(Необязательный массив) Документы в порядке их появления в результатах. Требуется, если ids не указан. Вы можете указать следующие атрибуты для каждого документа:

_id
(Обязательный строковый тип) Уникальный идентификатор документа.
_index
(Обязательный строковый тип) Индекс, содержащий документ.
organic
Любой запрос для ранжирования документов, которые будут ранжироваться ниже «закреплённых» документов.

Закрепление документов в конкретном индексе

Если вы выполняете поиск по нескольким индексам, вы можете закрепить документ в определённом индексе, используя docs:

GET /_search
{
  "query": {
    "pinned": {
      "docs": [
        {
          "_index": "my-index-000001",
          "_id": "1"
        },
        {
          "_index": "my-index-000001",
          "_id": "4"
        },
        {
          "_index": "my-index-000002",
          "_id": "100"
        }
      ],
      "organic": {
        "match": {
          "description": "iphone"
        }
      }
    }
  }
}

© 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/7.17/query-dsl-pinned-query.html

Spec-Zone.ru

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