elasticsearch(es)获取指定索引(index)的所有文档的 id 的方法,这里的 id 指的是 es 文档内部定义的 _id。
推荐方法
具体方法如下:
GET {index}/_search
{
"query" : {
"match_all" : {}
},
"stored_fields": []
}
我们可以看出 query 相关语句中指定了 stored_fields 参数,该参数本质是 lucene 里的概念,其主要用于行存储文档需要保存的字段内容,每个文档的所有 stored_fields 保存在一起,在查询请求需要返回字段原始值的时候使用。
上述示例,输出类似如下:
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 8,
"successful": 8,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 624,
"max_score": 1,
"hits": [
{
"_index": "qa",
"_type": "qa",
"_id": "1423295",
"_score": 1
},
{
"_index": "qa",
"_type": "qa",
"_id": "1423272",
"_score": 1
},
{
"_index": "qa",
"_type": "qa",
"_id": "1423164",
"_score": 1
}
...
]
}
}