Loading

_id field

Each document has an _id that uniquely identifies it, which is indexed so that documents can be looked up either with the GET API or the ids query. The _id can either be assigned at indexing time, or a unique _id can be generated by Elasticsearch. This field is not configurable in the mappings.

The value of the _id field is accessible in queries such as term, terms, match, and query_string.

 # Example documents PUT my-index-000001/_doc/1 { "text": "Document with ID 1" } PUT my-index-000001/_doc/2?refresh=true { "text": "Document with ID 2" } GET my-index-000001/_search { "query": { "terms": { "_id": [ "1", "2" ] } } } 
  1. Querying on the _id field (also see the ids query)

The _id field is restricted from use in aggregations, sorting, and scripting. In case sorting or aggregating on the _id field is required, it is advised to duplicate the content of the _id field into another field that has doc_values enabled.

Note

_id is limited to 512 bytes in size and larger values will be rejected.