java - 使用 RestHighLevelClient 创建索引失败
问题描述
我正在尝试使用RestHighLevelClient创建索引,客户端已成功创建,但在创建索引时出现错误。
CreateIndexRequest request = new CreateIndexRequest(elasticsearchIndex);
request.settings(Settings.builder()
.put("index.number_of_shards", 1)
.put("index.number_of_replicas", 0)
);
org.elasticsearch.client.indices.CreateIndexResponse createIndexResponse = elasticsearchClient.indices().create(request, RequestOptions.DEFAULT);
Exception in thread "main" java.net.ConnectException: Connection refused
at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:788)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:218)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:205)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1454)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1439)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1406)
at org.elasticsearch.client.IndicesClient.create(IndicesClient.java:128)
请让我知道根本原因或任何解决方案。
谢谢
解决方案
看起来您的应用程序无法连接到弹性搜索服务器,您能否检查 JHLRC 客户端配置中提供的连接设置(主机名和端口)并确保您已连接到弹性搜索。
您可以通过使用邮递员等其他客户端点击您的弹性搜索主机名和端口来检查连接。还要确保您的应用程序和弹性搜索服务器具有网络连接。
推荐阅读
- mysql - 如果目标在一张表中而活动在另一张表中,如何显示实现不同目标的进度
- python - 删除数字及其后面的任何特殊字符或字母(来自邮政地址)
- android - Android InAppBillingV3 购买并检查商品是否已购买
- c++ - 搜索和限制特定文件类型 VS2017
- ruby-on-rails - Ruby(或 Rails)类在单线程执行期间会丢失其 object_id 吗?
- sql - 如何在一列中显示两个表之一中的一个元素
- forms - 无效表单的适当状态代码
- excel - 使用键 VBA 获取集合内的对象
- angular - 过滤管工作不正常 角度 7
- javascript - 除非先前定义,否则嵌套 Jest 模拟失败