Pinned query
Promotes selected documents to rank higher than those matching a given query. This feature is typically used to guide searchers to curated documents that are promoted over and above any "organic" matches for a search. The promoted or "pinned" documents are identified using the document IDs stored in the _id
field.
GET /_search
{ "query": { "pinned": { "ids": [ "1", "4", "100" ], "organic": { "match": { "description": "iphone" } } } } }
ids
- (Optional, array) Document IDs listed in the order they are to appear in results. Required if
docs
is not specified. docs
-
(Optional, array) Documents listed in the order they are to appear in results. Required if
ids
is not specified. You can specify the following attributes for each document:_id
- (Required, string) The unique document ID.
_index
- (Optional, string) The index that contains the document.
organic
- Any choice of query used to rank documents which will be ranked below the "pinned" documents.
If you’re searching over multiple indices, you can pin a document within a specific index using docs
:
GET /_search
{ "query": { "pinned": { "docs": [ { "_index": "my-index-000001", "_id": "1" }, { "_id": "4" } ], "organic": { "match": { "description": "iphone" } } } } }
- The document with id
1
frommy-index-000001
will be the first result. - When
_index
is missing, all documents with id4
from the queried indices will be pinned with the same score.