_id field
edit_id
field
editEach 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.
This was not the case with pre-6.0 indices due to the fact that they
supported multiple types, so the _type
and _id
were merged into a composite
primary key called _uid
.
The value of the _id
field is accessible in certain queries (term
,
terms
, match
, query_string
, simple_query_string
).
# Example documents PUT my_index/_doc/1 { "text": "Document with ID 1" } PUT my_index/_doc/2&refresh=true { "text": "Document with ID 2" } GET my_index/_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.