zoukankan      html  css  js  c++  java
  • ES elasticSearch几种客户端

    ES目前有4种客户端:Jest client、Rest client、Transport client、Node client

    Transport client、Node client都是通过9300端口,使用 Elasticsearch 的原生 传输 协议和集群交互。(集群交互的端口都是通过9300)

    Transport client是不需要单独一个节点,脱离在集群之外。

    Node client需要单独建立一个节点,连接该节点进行操作,该节点不能存储数据,也不能成为主节点。

    Transport client(7.0弃用)

    Node client(2.3弃用)

    Jest:第三方客户端

    使用广泛

    ES集群使用不同的ES版本,使用原生ES API会有问题,而Jest不会;

    <dependency>
    <groupId>io.searchbox</groupId>
    <artifactId>jest</artifactId>
    <version>5.3.3</version>
    </dependency>

    ES提供了两个JAVA REST client 版本

    Java Low Level REST Client: 低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本
    Java High Level REST Client: 高级别的REST客户端,基于低级别的REST客户端,增加了编组请求JSON串、解析响应JSON串等相关api。使用的版本需要保持和ES服务端的版本一致,否则会有版本问题。

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

    JestClient兼容性优于其他两者,Java High Level REST Client设置了默认调优参数,若版本匹配,其性能会更加优秀。

  • 相关阅读:
    docker 原理之 mount namespace(下)
    docker 原理之 namespace (上)
    十种世界顶级思维方式
    Go 标准库 net
    斐波拉契序列的 Go 实现
    channel 是怎么走上死锁这条路的
    hello world 的并发实现
    使用链表和切片实现栈和队列
    非暴力沟通-读后感
    CCS
  • 原文地址:https://www.cnblogs.com/pass-ion/p/14620644.html
Copyright © 2011-2022 走看看