12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- [[mapping-id-field]]
- === `_id` field
- Each document has an `_id` that uniquely identifies it, which is indexed
- so that documents can be looked up either with the <<docs-get,GET API>> or the
- <<query-dsl-ids-query,`ids` query>>. The `_id` can either be assigned at
- indexing time, or a unique `_id` can be generated by {es}. 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`.
- [source,console]
- --------------------------
- # 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>
- }
- }
- }
- --------------------------
- <1> Querying on the `_id` field (also see the <<query-dsl-ids-query,`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.
- ==================================================
|