Loading

Retrieve stored fields using the Get document API

Stack

Use the stored_fields query parameter in a Get document API request to retrieve fields marked as stored ("store": true) in the index mapping.

Fields not marked as stored are excluded from the response, even if specified in the request.

Tip

In most cases, the fields and _source parameters produce better results than stored_fields.

For example, these PUT requests define a stored field in the mapping and add a document:

 PUT my-index-000001 { "mappings": { "properties": { "counter": { "type": "integer", "store": false }, "tags": { "type": "keyword", "store": true } } } } 
 PUT my-index-000001/_doc/1 { "counter": 1, "tags": [ "production" ] } 

This request retrieves the stored fields from the document:

 GET my-index-000001/_doc/1?stored_fields=tags,counter 

The API returns the following response:

{ "_index": "my-index-000001", "_id": "1", "_version": 1, "_seq_no": 22, "_primary_term": 1, "found": true, "fields": { "tags": [ "production" ] } } 

Although the counter field is specified in the request, it's not included in the response because it's not actually a stored field.

Field values are returned as an array.

Note

Only leaf fields can be retrieved with the stored_fields parameter. If you specify an object field instead, an error is returned.