123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- [[mapping-uid-field]]
- === `_uid` field
- deprecated[6.0.0, Now that types have been removed, documents are uniquely identified by their `_id` and the `_uid` field has only been kept as a view over the `_id` field for backward compatibility.]
- Each document indexed is associated with a <<mapping-type-field,`_type`>> (see
- <<mapping-type>>) and an <<mapping-id-field,`_id`>>. These values are
- combined as `{type}#{id}` and indexed as the `_uid` field.
- The value of the `_uid` field is accessible in queries, aggregations, scripts,
- and when sorting:
- [source,js]
- --------------------------
- # Example documents
- PUT my_index/my_type/1
- {
- "text": "Document with ID 1"
- }
- PUT my_index/my_type/2?refresh=true
- {
- "text": "Document with ID 2"
- }
- --------------------------
- // CONSOLE
- [source,js]
- --------------------------
- GET my_index/_search
- {
- "query": {
- "terms": {
- "_uid": [ "my_type#1", "my_type#2" ] <1>
- }
- },
- "aggs": {
- "UIDs": {
- "terms": {
- "field": "_uid", <2>
- "size": 10
- }
- }
- },
- "sort": [
- {
- "_uid": { <3>
- "order": "desc"
- }
- }
- ],
- "script_fields": {
- "UID": {
- "script": {
- "lang": "painless",
- "source": "doc['_uid']" <4>
- }
- }
- }
- }
- --------------------------
- // CONSOLE
- // TEST[continued]
- // TEST[warning:Fielddata access on the _uid field is deprecated, use _id instead]
- <1> Querying on the `_uid` field (also see the <<query-dsl-ids-query,`ids` query>>)
- <2> Aggregating on the `_uid` field
- <3> Sorting on the `_uid` field
- <4> Accessing the `_uid` field in scripts
|