ElasticSearch SearchResponse объект с агрегацией в JsonObject? - PullRequest
0 голосов
/ 25 августа 2018

Я собираюсь снова задать тот же вопрос Преобразовать SearchResponse в JsonObject

На самом деле я использую то же решение, что и в этом вопросе.Но это решение не работает для меня.

Ниже приведен мой запрос Elastic:

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) undefined

Удалить аргумент для соответствия JSONObject ()

И я использую плагин maven ниже и эластичный vs ~ 2.3:

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

1 Ответ

0 голосов
/ 25 августа 2018

Я не думаю, что json-simple имеет конструктор JSONObject (String source) , и это ошибка времени компиляции.Если вы хотите следовать тому, как он используется в ссылке на другой поток , попробуйте использовать приведенную ниже зависимость в вашем файле pom.xml:

<dependency>
  <groupId>org.json</groupId>
  <artifactId>json</artifactId>
  <version>20180813</version>
</dependency> 

После включения зависимости этот фрагмент будетработа:

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

ссылка: JSONObject (String source)

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...