New

The executive guide to generative AI

Read more
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.