Springboot 整合 Elasticsearch:使用RestHighLevelClient操作ES ②
warning:
这篇文章距离上次修改已过207天,其中的内容可能已经有所变动。
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException;
@Service
public class ElasticsearchService {
@Autowired
private RestHighLevelClient client;
public SearchResponse searchData() throws IOException {
// 创建一个搜索请求
SearchRequest searchRequest = new SearchRequest("posts");
// 构建查询条件
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("title", "java"));
searchSourceBuilder.sort("publishDate", SortOrder.DESC);
// 设置搜索源
searchRequest.source(searchSourceBuilder);
// 执行搜索
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
return searchResponse;
}
}
这段代码演示了如何使用RestHighLevelClient
来执行一个基本的搜索查询。它创建了一个搜索请求,并设置了查询条件和排序规则。然后,它将搜索请求发送给Elasticsearch,并返回搜索结果。这个例子简单明了,展示了如何在Spring Boot应用程序中整合Elasticsearch。
评论已关闭