es查询工具类封装

import lombok.extern.slf4j.Slf4j;
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.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
@Slf4j
@Component
public class QryDataByIndexUtil {
    @Resource(
            name = "restHighLevelClient"
    )
    private RestHighLevelClient client;

    public SearchHits qryDataByIndex(String index, QueryBuilder query, int page, int size) {
//        this.client = new RestHighLevelClient(RestClient.builder(
//                HttpHost.create("http://132.224.250.116:9200")
//        ));
        try {
            SearchRequest request = new SearchRequest();
            request.indices(new String[]{index});
            SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
            sourceBuilder.query(query);
            sourceBuilder.from(page);
            sourceBuilder.size(size);
            request.source(sourceBuilder);
            SearchResponse response = this.client.search(request, RequestOptions.DEFAULT);
            System.out.println(response);
            return response.getHits();
        } catch (Exception var8) {
            log.error(var8.toString());
            return null;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/han1725692339/article/details/127504988