【问题标题】:How to retrieve all document ids (_id) in a specific index如何检索特定索引中的所有文档 ID (_id)
【发布时间】:2015-09-26 03:28:54
【问题描述】:

我正在尝试检索索引中的所有文档,同时只取回 _id 字段。

基本上我想检索我拥有的所有文档 ID。

使用时:

{
   "query": {
       "match_all": {}
   },
   "fields": []
}

我得到的命中包含:“_index”、“_type”、“_id”、“_score”、“_source” 这比我需要的要多。

编辑(回答): 所以我的问题是我使用 KOPF 来运行查询,结果不准确(得到了 _source 等等)!使用 curl 时,我得到了正确的结果!

所以上面的查询实际上达到了我所需要的! 您还可以使用:

{
   "query": {
      "match_all": {}
   },
   "_source": false,
}

{
   "query": {
      "match_all": {}
   },
   "fields": ["_id"]
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    对于elasticsearch,只能使用fields 数组来指定_source 字段。

    _index_type_id_score 必须由 elasticsearch 返回。

    无法从响应中删除它们。

    【讨论】:

      【解决方案2】:

      我假设您的 _id 是您在索引中的文档而不是索引本身。

      在新版本的elasticsearch中,“_source”用于检索es文档的选定字段,因为_source字段包含弹性搜索es记录所需的所有内容。

      例子:

      假设索引名称为“movies”,类型为“movie”,您要检索所有弹性搜索记录的电影名称和电影标题。

      curl -XGET 'http://localhost:9200/movies/movie/_search?pretty=true' -d '
      { 
          "query" : { 
              "match_all" : {} 
          },
          "_source": ["movieName","movieTitle"]
      }'
      

      http://localhost:9200/movies/movie/_search?pretty=true&_source=movieName,movieTitle

      默认情况下它返回 10 个结果。要获取 n 条记录,然后将 &size=n 放入 url

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 2020-09-06
        • 1970-01-01
        • 2012-01-25
        • 1970-01-01
        相关资源
        最近更新 更多