Get multiple documents

  • POST also GET /{index}/_mget
  • POST also GET /_mget
Auth

Get multiple JSON documents by ID from one or more indices. If you specify an index in the request URI, you only need to specify the document IDs in the request body. To ensure fast responses, this multi get (mget) API responds with partial results if one or more shards fail.

Filter source fields

By default, the _source field is returned for every document (if stored). Use the _source and _source_include or source_exclude attributes to filter what fields are returned for a particular document. You can include the _source, _source_includes, and _source_excludes query parameters in the request URI to specify the defaults to use when there are no per-document instructions.

Get stored fields

Use the stored_fields attribute to specify the set of stored fields you want to retrieve. Any requested fields that are not stored are ignored. You can include the stored_fields query parameter in the request URI to specify the defaults to use when there are no per-document instructions.

Required authorization

Index privileges read

Path parameters

index string optional

Name of the index to retrieve documents from when ids are specified, or when a document in the docs array does not specify an index.

Leave it out to use /_mget.

Query parameters

preference string

Specifies the node or shard the operation should be performed on. Random by default.

realtime boolean · default: true

If true, the request is real-time as opposed to near-real-time.

refresh boolean · default: false

If true, the request refreshes relevant shards before retrieving documents.

routing string

Custom value used to route operations to a specific shard.

_source union oneOf

True or false to return the _source field or not, or a list of fields to return.

One of: boolean or string
_source_excludes union string | string[]

A comma-separated list of source fields to exclude from the response. You can also use this parameter to exclude fields from the subset specified in _source_includes query parameter.

_source_includes union string | string[]

A comma-separated list of source fields to include in the response. If this parameter is specified, only these source fields are returned. You can exclude fields from this subset using the _source_excludes query parameter. If the _source parameter is false, this parameter is ignored.

stored_fields union oneOf · default: false

If true, retrieves the document fields stored in the index rather than the document _source.

One of: string[] or string

Request body

docs object[]

The documents you want to retrieve. Required if no index is specified in the request URI.

_id string required

The unique document ID.

_index string

The index that contains the document.

routing string

The key for the primary shard the document resides on. Required if routing is used during indexing.

_source union oneOf

If false, excludes all _source fields.

One of:
stored_fields union oneOf

The stored fields you want to retrieve.

One of: string[] or string
version number
version_type enum

Supported values include:

  • internal: Use internal versioning that starts at 1 and increments with each update or delete.
  • external: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.
  • external_gte: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document. NOTE: The external_gte version type is meant for special use cases and should be used with care. If used incorrectly, it can result in loss of data.
Values: internal external external_gte
ids union oneOf

The IDs of the documents you want to retrieve. Allowed when the index is specified in the request URI.

One of: string[] or string

Response

application/json
docs union oneOf[] required

The response includes a docs array that contains the documents in the order specified in the request. The structure of the returned documents is similar to that returned by the get API. If there is a failure getting a particular document, the error is included in place of the document.

One of:
_index string required

The name of the index the document belongs to.

fields map string to object

If the stored_fields parameter is set to true and found is true, it contains the document fields stored in the index.

_ignored string[]
found boolean required

Indicates whether the document exists.

_id string required

The unique identifier for the document.

_primary_term number

The primary term assigned to the document for the indexing operation.

_routing string

The explicit routing, if set.

_seq_no number

The sequence number assigned to the document for the indexing operation. Sequence numbers are used to ensure an older version of a document doesn't overwrite a newer version.

_source object

If found is true, it contains the document data formatted in JSON. If the _source parameter is set to false or the stored_fields parameter is set to true, it is excluded.

_version number

The document version, which is ncremented each time the document is updated.