ElasticSearch集群及部分基础应用总结

ElasticSearch集群及基础应用

首先这里用的有关ElasticSearch依赖有:

<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.5.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.5.1</version>
            <scope>compile</scope>
</dependency>

编写一个util

public  class ElasticSearchUtil {

    public static RestHighLevelClient restHighLevelClient() {

        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                //127.0.0.1与9200是本地,若在本地中正常调用一个即可,若调用集群则new 多个HttpHost 如下所示:
                         new HttpHost("127.0.0.1", 9200, "http"),
                         new HttpHost("127.0.0.1", 9200, "http"),
                         new HttpHost("127.0.0.1", 9200, "http"))
        );
        //返回
        return client;
    }
}
 //调用client连接
            RestHighLevelClient client = ElasticSearchUtil.restHighLevelClient();
            SearchRequest searchRequest = new SearchRequest("索引");
            //构建索引条件
            SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();

//sourceBuilder中有sort、size、searchAfter,可进行排序分页

超时时间30s

            sourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));

查找或排序后的封装到searchRequest

searchRequest.source(sourceBuilder);
            SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
            for (SearchHit hit : response.getHits().getHits()) {
                //将获取的值转换成map的形式
                Map<String, Object> map = hit.getSourceAsMap();
                XXX xx = JSON.parseObject(JSON.toJSONString(map), XXX.class);
                list.add(xx);
            }

猜你喜欢

转载自blog.csdn.net/weixin_44200004/article/details/121555580