当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch在筛选my_id字段时将其翻倍

彭风华
2023-03-14

我不明白为什么当我对数组进行筛选时,ES会加倍数组中的_id字段。

curl -X GET "http://localhost:9200/pgep-development_broadcasts/broadcast/_search?pretty=true" -d '{"query":{"match_all":{}},"fields":["_id", "title"]}'
{
  "took" : 7,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "pgep-development_broadcasts",
      "_type" : "broadcast",
      "_id" : "50ed959dcc93282abc000062",
      "_score" : 1.0,
      "fields" : {
        "_id" : [ "50ed959dcc93282abc000062", "50ed959dcc93282abc000062" ],
        "title" : "24 heures d'info"
      }
    } ]
  }
}

共有1个答案

孙财
2023-03-14

您可能碰到了这个bughttps://github.com/elasticsearch/elasticsearch/issues/2161。如果是这种情况,您可以简单地停止存储id字段。

 类似资料:
  • 我的文档具有如下所示的嵌套字段: 嵌套字段的映射如下所示: 在切换到ElasticSearch2之前,我使用aggs查询了没有结果的文档。以下是查询的聚合部分: 现在我切换到了ElasticSerach2,它只计算所有文档。我已经尝试了不同的方法,比如计算所有文档和计算结果,这样我就可以减去结果,但是 总是0 如何正确筛选/计算嵌套字段?

  • 问题内容: 我有一些文件: 如何按地区过滤/选择不同的文档? 在SQL中,我可以使用GROUP BY。我尝试了条件聚合,但返回的计数却不同。 感谢您的帮助!:-) 问题答案: 如果您的ElasticSearch版本为1.3或更高版本,则可以使用top_hits类型的子聚合,默认情况下,它将为您提供按查询分数排序的前三个匹配文档(此处为1,因为您使用match_all查询)。 您可以将参数设置为3以

  • 有没有办法告诉elasticsearch不返回任何元数据?目前,我可以选择哪些字段我想返回在源代码中。但我只想要源码中的字段。我宁愿不返回元数据,因为我不需要它,并节省一些不必要的解析和传输等。 我找到了弹性搜索--如何只返回数据,而不返回元信息?旧的问题,有人评论说当时不可能做到这一点。想知道这个功能是已经添加了还是仍然缺少?

  • 我有一个文档索引。我想过滤公共文档或由我的组成员(用户1和3)共享给组的文档。 隐私="公共"或(1,3)中的隐私="组"和user_id) 我可以分开做,但是如何将它们与OR结合起来? 文件: {“id”:1,“user_id”:1, “隐私”:“公共”,“标题”:“为一个人做饭”,} {“id”:3,“user_id”:1, “隐私”:“组”,“标题”:“三的公司”} {“id”:4,“use

  • 我试图使用python客户端应用筛选弹性搜索索引数据,但它不能处理字符串字段。 这是我的ES索引数据: [{u“_score”:1.0,u“_type”:u“ip”,u“_id”:u“79”,u“_source”:{u“status”:u“published”,u“username”:u“jackie@example.com”,u“id”:79},u“_index”:u“idx_object”},

  • 我是elasticsearch的新手,所以我的问题是: 提前致谢:)