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
editresp = client.search( query={ "pinned": { "ids": [ "1", "4", "100" ], "organic": { "match": { "description": "iphone" } } } }, ) print(resp)
response = client.search( body: { query: { pinned: { ids: [ '1', '4', '100' ], organic: { match: { description: 'iphone' } } } } } ) puts response
const response = await client.search({ query: { pinned: { ids: ["1", "4", "100"], organic: { match: { description: "iphone", }, }, }, }, }); console.log(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
- (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.
Pin documents in a specific index
editIf you’re searching over multiple indices, you can pin a document within a specific index using docs
:
resp = client.search( query={ "pinned": { "docs": [ { "_index": "my-index-000001", "_id": "1" }, { "_id": "4" } ], "organic": { "match": { "description": "iphone" } } } }, ) print(resp)
response = client.search( body: { query: { pinned: { docs: [ { _index: 'my-index-000001', _id: '1' }, { _id: '4' } ], organic: { match: { description: 'iphone' } } } } } ) puts response
const response = await client.search({ query: { pinned: { docs: [ { _index: "my-index-000001", _id: "1", }, { _id: "4", }, ], organic: { match: { description: "iphone", }, }, }, }, }); console.log(response);