如何使用ElasticSearch Java API从JSON构建聚合

埃里克·哈特福德

我的代码具有一个ElasticSearch查询和JSON格式的聚合,并且想要调用ElasticSearch Java API。

对于查询部分,我可以使用WrapperQuery从JSON构建查询,如下所示:

val query = Json.obj(
  "query_string" -> Json.obj("query" -> "*"))

val aggs = Json.obj(
  "gender" -> Json.obj("terms" -> Json.obj("field": "gender")),
  "age"    -> Json.obj("terms" -> Json.obj("field": "age")))

val aggsRequestBuilder = new SearchRequestBuilder(client)
  .setIndices(index())
  .setQuery(QueryBuilders.wrapperQuery(query.toString())
  .addAggregation(AggregationBuilders.???(aggs.toString())

但是然后,我也有用于聚合的JSON,但没有看到可用于从JSON构建聚合对象的AggregationsBuilder.wrapperAggregation()函数。

我想念什么吗?

埃里克·哈特福德

我找到了答案,没有记载。setAggregations()的byte []重载将接受JSON。我希望这对其他人有帮助。

val aggsRequestBuilder = new SearchRequestBuilder(client)
  .setIndices(index())
  .setQuery(QueryBuilders.wrapperQuery(query.toString())
  .setAggregations(agg.toString().getBytes())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Elasticsearch Java API构建同级聚合?

使用Java API的Elasticsearch聚合

使用 Java 的 ElasticSearch 聚合

如何在SearchResponse中使用elasticSearch Java API访问聚合结果?

使用JAVA的Elasticsearch嵌套聚合

使用Elasticsearch 1.x进行Java API聚合

使用Java API的Elasticsearch

如何使用Elasticsearch Java API创建通配符查询?

如何使用Java API重写ElasticSearch DSL查询

如何使用Java API编写此Elasticsearch查询

如何使用Java API设置提取附件(elasticsearch)插件选项?

如何在ElasticSearch上将hasChildFilter与JAVA API结合使用

如何使用ElasticSearch Java API生成以下查询

如何在Java中使用JSON进行Elasticsearch查询?

Elasticsearch使用Java API返回原始JSON

elasticsearch Java API 中的多个平均聚合

Elasticsearch 6.1.1 Java Api,缺少子聚合

elasticsearch JSON Java API

Elasticsearch Java API-构建查询

如何从JSON构建Java JSONObject

如何使用Elasticsearch Java Api使用query_string创建查询

如何将此 JSON 写入 Elasticsearch Java API?

通过JAVA API使用JSON文件查询ElasticSearch

使用JSON模式和ElasticSearch Java API添加类型映射

Elasticsearch简单索引并使用Java API搜索JSON

Java的ElasticSearch聚合

Elasticsearch java api:如何像在 dsl 中使用 _source:[] 一样定义字段

Elasticsearch-Java RestHighLevelClient-如何使用滚动API获取所有文档

如何使用Java API删除Elasticsearch索引中的所有内容而不是映射