每个索引的文档都与一个 _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 字段 |