java - Elasticsearch:如何在查询中使用聚合?

标签 java json elasticsearch

我是 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/

相关文章:

perl - 通过 perl 解析以 JSON 编码的数组

node.js - 有没有一种方法可以使用elasticsearch为每个匹配字段仅返回一次命中?

elasticsearch - 检查文档中不存在的特定单词

java - 错误:org/slf4j/impl/Log4jLoggerFactory

java - 使用 Spring 以声明方式缓存 bean 方法的返回值

java - 如何使用Gson根据实际响应创建一个ExpectedResponse词典?

基于JSON数据的Java文件移动

javascript - JS 文件脚本错误 : missing ; before statement <Script1. js#1>

java - 与垃圾收集语言一起使用时,哪种代码的 CPU/内存效率更高?

java - 解析单个 CSV 行