我是 Elasticsearch 领域的新手,我正在尝试通过聚合从 Elasticsearch 中查询文档。查询如下所示:
{
“大小”:25000,
“询问”: {
“过滤”:{
“询问”: {
“boolean ”:{
“一定不”: {
“学期”: {
“vlanId”:[
2、
4、
8、
12、
16、
28、
0,
20、
24、
44、
第544章
]
}
}
}
},
“筛选”: {
“boolean ”:{
“必须”: {
“存在”:{
“字段”:“ipv4”
}
}
}
}
}
},
“聚合”:{
“vlan_ids”:{
“条款”:{
“字段”:“vlanId”
},
“聚合”:{
“顶部”: {
“热门点击”:{
“来自”:0,
“大小”:10,
“解释”:正确
}
}
}
}
}
}
执行后,我收到无法执行阶段[查询],所有分片失败
异常。我正在使用 Java API 和 elasticsearch 1.4v。非常感谢任何线索。
这是示例 JSON:
{ "_index":"vlan-active", "_source":{ "vlanId":8, "port":3, "vlanIP":"10.16.8.102", "ipv4":"10.16.8.102", "ipv6":"", "mac":"", "vendorName":"","os":""}}
最佳答案
term
查询会将字段匹配到单个值。
为了匹配多个值,例如 in Clause
,应使用 terms
而不是 term
。
我将关键字 term
更改为 terms
并使其正常工作。
关于java - Elasticsearch:如何在查询中使用聚合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42556801/