我不明白为什么当我对数组进行筛选时,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" } } ] } }
您可能碰到了这个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的新手,所以我的问题是: 提前致谢:)