• elasticsearch 连接、操作记录


    github site:https://github.com/foolchild/record-elasticsearch

    1.elasticsearch的版本

    2.java客户端的变迁

    3.具体使用RestHighLevelClient

    1.elasticsearch的版本

    简单说一下我使用中感受到的变化

    5.x 支持多种type

    6.x 只能有一种type

    7.x 将去除type 没有类型的概念了

    7.X TransportClient被废弃,只能使用restclient。

    在es7中使用默认的_doc作为type,官方说在8.x版本会彻底移除type。

    2.java客户端的变迁

    2.1 transportClient

    关于TransportClient,elastic计划在Elasticsearch 7.0中弃用TransportClient,并在8.0中完全删除它。这里就不过多记录。

    2.2 Rest Low Level Client

    Java Low Level REST Client,低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本最小Java版本要求为1.7

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-client</artifactId>
        <version>6.2.4</version>
    </dependency

    2.3 Rest High Level Client

    Java High Level REST Client, 高级别的REST客户端,基于低级别的REST客户端,增加了编组请求JSON串、解析响应JSON串等相关api。使用的版本需要保持和ES服务端的版本一致,否则会有版本问题。(不知道以后会不会有best level 或者 highest。。。)

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.2.4</version>
    </dependency>

    3.具体使用RestHighLevelClient

     3.1 兼容性

    • 依赖 java1.8
    • 请使用与服务端ES版本一致的客户端版本

    3.2 连接

    public class RestClient_test {
        public RestHighLevelClient getClient() {
            RestHighLevelClient client = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("localhost", 9200, "http"),
                            new HttpHost("localhost", 9201, "http")));
            return client;
        }
    }

    3.3 关于操作

    在项目中有相关代码,这里偷个懒

    至此,elasticsearch连接完成,后续的查询操作内容庞大,一时讲述不清,后续更新。

  • 相关阅读:
    POJ3171 线段树优化dp
    Codeforces Round #590 (Div. 3)
    POJ2777 线段树区间染色问题
    POJ2182 Lost Cows 树状数组,二分
    P1908 逆序对 树状数组
    2019 Multi-University Training Contest 3
    主席树板子题区间第k小
    权值线段树板子题
    KMP板子题
    稀疏贝叶斯
  • 原文地址:https://www.cnblogs.com/zhanghao1799/p/11940099.html
Copyright © 2020-2023  润新知