Eri*_*ord 3 elasticsearch elasticsearch-java-api
我的代码有一个ElasticSearch查询和JSON格式的聚合,并且想要调用ElasticSearch Java API.
对于Query部分,我可以使用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())
Run Code Online (Sandbox Code Playgroud)
但是,我也有聚合的JSON,我没有看到可以用来从JSON构建聚合对象的AggregationsBuilder.wrapperAggregation()函数.
我错过了什么吗?
我发现了答案,没有记录.setAggregations()的byte []重载将接受JSON.我希望这对其他人有帮助.
val aggsRequestBuilder = new SearchRequestBuilder(client)
.setIndices(index())
.setQuery(QueryBuilders.wrapperQuery(query.toString())
.setAggregations(agg.toString().getBytes())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |