我正在尝试使用 Java 和 Elasticsearch 进行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对象?
基本上,您需要执行以下操作:
String query = whatever_query... SearchResponse response = esClient.prepareSearch(Configuration.PRIMARY_INDEX_NAME) .setQuery(query) .execute() .actionGet();