_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 value of the _id
field is accessible in certain queries (term
, terms
, match
, query_string
, simple_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" ]
}
}
}
Querying on the |
The value of the _id
field is also accessible in aggregations or for sorting, but doing so is discouraged as it requires to load a lot of data in memory. In case sorting or aggregating on the _id
field is required, it is advised to duplicate the content of the _id
field in another field that has doc_values
enabled.
_id
is limited to 512 bytes in size and larger values will be rejected.