聚合到JsonObject的ElasticSearch SearchResponse对象?

时间:2018-08-24 22:37:44

标签: java json elasticsearch

我将再次问同样的问题Convert SearchResponse to JsonObject

实际上,我使用的是与该问题相同的解决方案。但是此解决方案不适用于我。

以下是我的弹性查询:

AggregationBuilder aggregation = AggregationBuilders
                                    .terms("users")
                                     .field("USER")
                                     .size(10)
SearchResponse res = client.prepareSearch(_index)
                .setSize(0)
                .addAggregation(aggregation)
                .execute()
                .actionGet();

但是当我尝试将其转换为JSON对象

JSONObject SRJSON = new JSONObject(res.toString());

是在说

  

未定义构造函数JSONObject(String)

     

删除参数以匹配JSONObject()

我正在使用下面的Maven插件和Elastic vs〜2.3:

<dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
</dependency>

1 个答案:

答案 0 :(得分:1)

我不认为json-simple具有 JSONObject(String source)构造函数,并且这是编译时错误。如果您希望遵循link to other thread中使用它的方式,请考虑在pom.xml中使用以下依赖项:

mystring = 'Hello,Joe'
mystring = re.sub(",", "", mystring)

包含依赖项后,此代码段将起作用:

mystring = 'Hello,Joe'
mystring = mystring.replace(",", "")

引用:JSONObject(String source)

希望有帮助!