以下是我的查询:
{
"size" : 0,
"query" : {
"bool" : {
"must" : {
"match_all" : { }
},
"filter" : {
"bool" : {
"must" : [ {
"terms" : {
"unblindMemberId" : [ "first", "erw", "810182628017", "ewrew", "swer", "rew", "wer", "ewr", "ewr", "r", "r", "dsf", "810218592401", "sd", "s", "last" ]
}
}, {
"bool" : {
"must" : {
"exists" : {
"field" : "udf7_lab"
}
}
}
} ]
}
}
}
},
"aggregations" : {
"members" : {
"terms" : {
"field" : "unblindMemberId"
},
"aggregations" : {
"top_risk" : {
"top_hits" : {
"size" : 1,
"_source" : {
"includes" : [ "udf7_lab" ],
"excludes" : [ "" ]
},
"sort" : [ {
"svc_service_date" : {
"order" : "desc"
}
} ]
}
}
}
}
}
}
在上述查询字词中,汇总无法正常运行。
未删除第一个元素(即第一个元素)的数据。但是,当unblindMemberId的最后一个元素被删除时(即)。持续。首先的数据被拉出。
同样,当仅添加第一个和最后一个元素时
即。
unblindMemberId:["first","last"]
这两个ID的记录都被提取。在没有聚合的情况下执行查询时,由于所有unblindMemberIds(包括第一个和最后一个id)都被提取,因此过滤器可以正常工作。
列表中的第一个和最后一个旁边的其他记录也很少被提取。
在我看来,
"aggregations" : {
"members" : {
"terms" : {
"field" : "unblindMemberId"
}
}
此特定的聚合无法提取所需的记录。我无法确定原因,因为术语聚合的基本功能无法正常工作。非常感谢您的帮助。
最佳答案
问题在于术语聚合。我没有设置size = 0,因为默认情况下,未设置size时仅提取10个数据。因此,我通过添加大小来解决:
"terms": {
"field": "unblindMemberId",
"size":0
}
关于json - 根据术语过滤器列表,Elastic Search术语聚合无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48423966/