java - 更好的 Elasticsearch 客户端从 JAVA Spring-boot 连接 AWS Elasticsearch
问题描述
我是一个新的蜜蜂Spring-boot
。我需要查询AWS Elasticsearch
。端点如下所示
https://vpc-xxxxxx.es.amazonaws.com
我不确定哪个是更好的客户选择,因为有多种选择。我检查了spring-boot-starter-data-elasticsearch
和org.elasticsearch.client
。看起来客户端正在使用集群节点(9300)的端口。由于我使用的是 AWS ES,因此我无权访问节点的端口。这里使用的端口是443
. 请向我推荐支持 AWS ES 服务的更好的 ES 客户端。
解决方案
由于您使用的是端口 9300,这表明您正在尝试将 TransportClient 远程连接到 Elasticsearch 集群
根据官方ES 文档,
在 7.0.0 中已弃用。TransportClient 已弃用,取而代之的是 Java 高级 REST 客户端,并将在 Elasticsearch 8.0 中删除。
甚至根据这篇博客,高级客户端最终将在未来取代传输客户端。
所以,如果你正在开发一个新的应用程序,最好使用Java High Level REST Client
现在,您已经获得了端点,您现在可以使用 HTTP 协议与 Elasticsearch 进行通信。
您将能够看到集群信息
您现在可以轻松地在其中创建索引、索引数据、删除索引等。
例如。在下面显示的图像中,我创建了一个索引customer
- 要了解有关如何使用 Java 高级 REST 客户端和 Spring Boot 与 AWS Elasticsearch 对话的更多信息,您可以参考这篇文章
你也可以参考这个答案
推荐阅读
- python - 为什么在一个终端会话中正确安装了 keras,但在所有后续会话和我的 jupyter 笔记本中都说它没有安装?
- python - 为什么同时使用多个 PRNG 会产生有偏差的结果?
- javascript - 我是否正确使用样式组件?
- swift - 将 JSON 推送到本地领域的正确类结构
- php - 通过php发送邮件时,我不断收到主机错误
- javascript - 在视图 MVC 5 中显示 1000 逗号分隔符
- arrays - 尝试读取带有前导空格的字符串时需要帮助解决“下标超出范围”错误
- python - 使用 Amazon Glue 将行转换为列
- javascript - 我有一个用户信息命令,并使用 .createdAt 创建了日期。我不能像以前那样对它进行风格化
- python - 使用来自虚拟列的文本字符串创建数据框列