我刚刚升级到Elastic Search
1.5.0,到目前为止,尽管嵌套查询可以正常工作,但我无法使inner_hits与嵌套过滤器一起使用。
比方说,我要检索的内部嵌套对象 演员 一中 的电影 对象。
当我运行以下 嵌套查询时 :
语法1
GET my_index/movie/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "actors",
"query": {
"match": {
"actors.id": 12345
}
},
"inner_hits" : {}
}
}
}
}
}
=>我得到了这里记录的inner_hits ,这很好。
但是当我尝试使用 嵌套过滤器 进行等效查询时:
语法2
GET my_index/movie/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "actors",
"filter": {
"term": {
"actors.id": 12345
}
},
"inner_hits" : {}
}
}
}
}
}
=>我得到以下解析错误
QueryParsingException [[my_index] [嵌套]需要“查询”或“过滤器”字段]
(当我删除inner_hits时,最后一个查询工作正常-当然,除了我没有得到内部点击…)
我使用的语法有问题吗,还是嵌套过滤器尚未实现inner_hits?
提前致谢
编辑3-30-2015
它可以使用@mdewit下面提供的语法(谢谢!)
语法3
GET my_index/movie/_search
{
"query": {
"nested": {
"path": "actors",
"query": {
"filtered": {
"filter": {
"term": {"actors.id": 12345}
}
}
},
"inner_hits" : {}
}
}
}
即使此语法与嵌套过滤器文档不匹配
=>我仍然不了解语法2的问题。在我看来,这似乎是一个ES错误。
编辑04-22-2015: ES 1.5.1中已 修复的错误 ,请参阅下面的评论
臭虫固定在ElasticSearch
1.5.1的规定在这里
因此,此语法有效(并且工作正常)
GET my_index/movie/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "actors",
"filter": {
"term": {
"actors.id": 12345
}
},
"inner_hits" : {}
}
}
}
}
}
多谢你们!
我刚刚升级到Elastic Search 1.5.0,到目前为止,我无法使inner_hits与嵌套过滤器一起工作,尽管它可以与嵌套查询一起工作。 假设我想检索电影对象中的内部嵌套对象演员。 当我运行以下嵌套查询时: 语法 1 = 但是当我尝试使用嵌套过滤器进行等效查询时: 语法 2 = QueryParsingException[[my_index][nested]需要“查询”或“过滤器”字段]
问题内容: 这是我的代码。请运行脚本以查看其工作方式: 从上面的代码中,我的数据数组包含对象,这些对象具有用户名,他的电话号码和他所属的呼叫队列。 我分别有四个呼叫队列111,456,201和665。 一个用户可以处于任意数量的呼叫队列中。我已经过滤了控制器中的数据,以使其仅显示前端中属于队列111或队列456的用户。 因此,根据我的代码,用户Edmond属于队列665,因此其详细信息不会显示在前
问题内容: 我在ES中有一个多匹配查询,并希望添加一个过滤器。 添加此过滤器的语法是什么? 我试过了: 问题答案: 根据您的需要,必须将过滤器放置在正确的位置。您有两种选择: 使用顶级过滤器,并将该过滤器仅应用于搜索结果,而不应用于各个方面 使用过滤的查询,并将过滤器应用于搜索结果和构面
目前我有这个阵列= 条件: 如果每个嵌套数组index2都相同,那么我想用[0.0 1.0,1.0 2.0,2.0 3.0,3.0 4.0] = [1.0,3.0,5.0,7.0]来求和 我想要的最终结果:[[“efg”, [1.0, 3.0, 5.0, 7.0], “测试”]] 有什么方法或建议来获得这个结果吗?
我在ES中有一个多匹配查询,希望添加一个过滤器。 添加此筛选器的语法是什么? 我试过:
如何使用java8流和过滤器过滤嵌套循环? 假设我有一个汽车列表(