java条件检索ES返回list
时间: 2023-07-20 21:42:27 浏览: 36
要使用Java条件检索ES并返回List,你需要使用Elasticsearch的Java API和相关的依赖库。以下是一个简单的示例代码,用于在ES中检索文档并将结果存储在List中:
```java
// 创建一个ES客户端
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
// 创建一个搜索请求对象
SearchRequest searchRequest = new SearchRequest("your_index_name");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
// 添加搜索条件
searchSourceBuilder.query(QueryBuilders.matchQuery("your_field_name", "your_search_keyword"));
// 设置搜索结果数量
searchSourceBuilder.size(100);
searchRequest.source(searchSourceBuilder);
// 执行搜索请求,解析结果并将结果存储在List中
List<String> resultList = new ArrayList<>();
try {
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
for (SearchHit hit : hits) {
String result = hit.getSourceAsString();
resultList.add(result);
}
} catch (IOException e) {
e.printStackTrace();
}
// 关闭ES客户端连接
try {
client.close();
} catch (IOException e) {
e.printStackTrace();
}
```
在上面的示例中,我们使用了`RestHighLevelClient`类来创建一个ES客户端,并使用`SearchRequest`和`SearchSourceBuilder`类来构建搜索请求和搜索条件。我们使用`QueryBuilders`来创建一个匹配查询条件,并使用`size()`方法来设置搜索结果数量。最后,我们使用`SearchResponse`和`SearchHits`类来解析搜索结果,并将结果存储在List中。
请注意,以上代码仅供参考。实际上,你需要根据自己的需求和ES集群的配置进行相应的调整。