Springboot 整合 Elasticsearch:使用RestHighLevelClient操作ES ②
    		       		warning:
    		            这篇文章距离上次修改已过452天,其中的内容可能已经有所变动。
    		        
        		                
                
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。
评论已关闭