Запрос 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