一尘不染

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

elasticsearch

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

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

curl -X GET 'http://localhost:9200/geocon/_search?q=first:"Sonya"'

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

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


阅读 1303

收藏
2020-06-22

共1个答案

一尘不染

基本上,您需要执行以下操作:

String query = whatever_query...
SearchResponse response = esClient.prepareSearch(Configuration.PRIMARY_INDEX_NAME)
                    .setQuery(query)
                    .execute()
                    .actionGet();
2020-06-22