ES客户端接入方式

在 Elasticsearch (ES) 中,有两种常见的客户端接入方式:Transport Client(传输客户端)和 Node Client(节点客户端)。这两种客户端都可用于与 Elasticsearch 集群进行通信和执行操作,但它们在连接方式和使用方法上有一些区别。

  1. Transport Client(传输客户端):
    Transport Client 是一个独立的 Java 客户端,用于与 Elasticsearch 集群进行通信。它使用 Elasticsearch 内部的传输协议(Transport Protocol)与集群中的节点进行通信。Transport Client 需要连接到集群中的任一节点,并通过该节点来与整个集群通信。它可以用于执行索引、搜索、删除等操作,并提供了完整的操作 API。

    Transport Client 在 Elasticsearch 7.x 版本中已被标记为过时(deprecated),在 Elasticsearch 8.x 版本中已被移除。推荐使用官方提供的 High Level REST Client(高级 REST 客户端)来代替 Transport Client。

  2. Node Client(节点客户端):
    Node Client 是通过将客户端节点加入到 Elasticsearch 集群中来实现与集群通信的方式。它是通过在客户端应用程序中创建一个本地节点(Local Node)来实现的,该节点会加入集群并参与集群的协调工作。Node Client 可以直接与集群中的任意节点进行通信,而不需要依赖单个节点。

    Node Client 提供了与集群中的节点相同的功能和 API,可以执行索引、搜索、删除等操作。它还具有在客户端应用程序中进行数据本地化和缓存的优势,可以提供更高的性能和可伸缩性。

需要注意的是,从 Elasticsearch 7.x 版本开始,官方推荐使用 High Level REST Client(高级 REST 客户端)作为主要的客户端接入方式。High Level REST Client 是一个基于 RESTful API 的跨语言客户端,提供了更简单、更直观的接口,并且与 Elasticsearch 的版本兼容性更好。

总结起来,Transport Client(传输客户端)是一个独立的 Java 客户端,而 Node Client(节点客户端)是通过将客户端节点加入到集群中来实现与集群通信的方式。在 Elasticsearch 7.x 版本及以后,官方推荐使用 High Level REST Client(高级 REST 客户端)作为主要的客户端接入方式。

你可能感兴趣的:(elasticsearch,大数据,搜索引擎)