_uid field

每个索引的文档都与一个 _type(请参见“Mapping Typesedit”一节)和一个 _id 相关联。

这些值组合为 {type}#{id} 并作为 _uid 字段编入索引。

_uid字段的值可以在 queries(查询),aggregations(聚合),scripts(脚本)以及 sorting(排序)时访问 : 

# Example documents
curl -XPUT 'localhost:9200/my_index/my_type/1?pretty' -H 'Content-Type: application/json' -d'
{
  "text": "Document with ID 1"
}
'
curl -XPUT 'localhost:9200/my_index/my_type/2?refresh=true&pretty' -H 'Content-Type: application/json' -d'
{
  "text": "Document with ID 2"
}
'
curl -XGET 'localhost:9200/my_index/_search?pretty' -H 'Content-Type: application/json' -d'
{
  "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",
         "inline": "doc['_uid']" # 4
      }
    }
  }
}
'

| 1 | 在 _uid 字段上查询 (也可以参考 ids query) | | 2 | 在 _uid 字段上聚合 | | 3 | 在 _uid 字段上排序 | | 4 | 在脚本中访问 _uid 字段 |