我正在尝试使用 Java 和 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对象?
答案 0 :(得分:2)
答案 1 :(得分:1)
基本上你需要做这样的事情:
String query = whatever_query...
SearchResponse response = esClient.prepareSearch(Configuration.PRIMARY_INDEX_NAME)
.setQuery(query)
.execute()
.actionGet();