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

Bla*_*acK 5 java json elasticsearch

我正在尝试使用JavaElasticsearch进行 Elasticsearch 搜索。弹性搜索为 Java 提供了 API,这很酷。

问题是,我希望在 Java 中创建一个方法,该方法接收一个字符串(正确地,包含用于搜索的信息的 JSON),该字符串将这个 HTTP 调用反映到 Elasticsearch

curl -X GET 'http://localhost:9200/geocon/_search?q=first:"Sonya"'
Run Code Online (Sandbox Code Playgroud)

但我希望这种方法尽可能通用。

那么问题来了:是否可以使用 Java API 解析并转换 1:1 HTTP 请求到 Elasticsearch?也许只将 JSON 字符串作为参数提供给 Elasticsearch 对象?

Bla*_*acK 2

基本上你需要做这样的事情:

String query = whatever_query...
SearchResponse response = esClient.prepareSearch(Configuration.PRIMARY_INDEX_NAME)
                    .setQuery(query)
                    .execute()
                    .actionGet();
Run Code Online (Sandbox Code Playgroud)