Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

es 获取所有文档 id 方法

Elasticsearch 笔记 Elasticsearch 笔记


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
      }
      ...
    ]
  }
}