IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Pinned Query
editPinned Query
editPromotes 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.
Example request
editresponse = client.search( body: { query: { pinned: { ids: [ '1', '4', '100' ], organic: { match: { description: 'iphone' } } } } } ) puts response
GET /_search { "query": { "pinned": { "ids": [ "1", "4", "100" ], "organic": { "match": { "description": "iphone" } } } } }
Top-level parameters for pinned
edit-
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
- (Required, string) The index that contains the document.
-
-
organic
- Any choice of query used to rank documents which will be ranked below the "pinned" documents.
Pin documents in a specific index
editIf you’re searching over multiple indices, you can pin a document within a specific index using docs
:
response = client.search( body: { 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' } } } } } ) puts response
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" } } } } }