问题标签 [resthighlevelclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - RestClientBuilder 给出 IO 异常
当我尝试中间连接到 ES 时,我遇到了异常。
例外
我在尝试连接到 ElasticSearch 服务器时遇到了这个问题。
java - Spring Boot + Elastic Search:Java RestHighLevelClient 拒绝连接
我正在为我的 spring boot 项目实现一个弹性池,我也在使用 spring boot 2.1.4 和 elastic search 7.3.0。我被困在这一点上。当任何 API 尝试查询时,它都会给出java.net.ConnectException: Connection refused
. 我想使用customizeHttpClient
带有设置线程数的配置。因此,当应用程序启动并使用该连接查询数据库时,它只建立一个连接,直到 bean 销毁。
我试过这个弹性配置:
我也尝试通过实现DisposableBean
接口和它的destroy
方法,但我得到了同样的异常。
这是我试图查询文档的 API:
当它试图查询时,它会在client.search()
. 这是堆栈跟踪:
请帮助我摆脱这种情况。所有帮助和建议都将得到应用。
java - java高级rest客户端连接给出ssl错误
我有一段时间收到以下错误,无法获得搜索结果。
我的代码如下。
我也试过flush()但没有运气。
请帮助可能是什么原因,我正在使用 ES9200 port
和https protocol
.
elasticsearch - 调用 Java 高级 REST 客户端 API 时出现 OutOfMemoryError
我的要求是我需要使用 Spring Boot 通过 Java Rest 客户端 API 从 ElasticsticSearch DB 获取数据。所以我写了如下的spring boot代码。
pom.xml 中的依赖:
我们在应用程序启动期间启动上述客户端,并仅在应用程序关闭时关闭它。
然后我使用(SerchResponse, multiserachResponse, CountResponse) 编写了相应的 API 来从 ELS 中获取数据。
由于数据较少,此代码在非 PROD 环境中运行良好。但是在 PROD 环境中,我们有大量数据,所以当我们调用这些 API 时,我们遇到了错误。
2020-05-28T15:24:52.96+0530 [RTR/0] OUT 2020-05-28T15:24:53.72+0530 [APP/PROC/WEB/0] 线程“I/O 调度程序 1”java 中的 ERR 异常。 lang.OutOfMemoryError:直接缓冲内存 2020-05-28T15:24:53.72+0530 [APP/PROC/WEB/0] ERR at java.nio.Bits.reserveMemory(Bits.java:694) 2020-05-28T15:24 :53.72+0530 [APP/PROC/WEB/0] java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 的错误 2020-05-28T13:37:03.99+0530 [RTR/4] OUT 2020-05-28T13 :37:04.25+0530 [APP/PROC/WEB/0] OUT 2020-05-28 08:07:04.256 错误 14 --- [io-8080-exec-10] cddeElasticSearchRepositoryImpl : 异常 :: java.lang.IllegalStateException : 请求无法执行;I/O 反应器状态: STOPPED 2020-05-28T13:37:04.25+0530 [APP/PROC/WEB/0] OUT at org.apache.http.util.Asserts.check(Asserts.java:46)
任何人都可以遇到这样的问题,请让我知道如何解决这个问题。
java - java elasticsearch HighLevelRestClient间歇性抛出“java.net.SocketException:连接重置”
基本环境:
- 码头工人 19.0.3
- 弹性搜索 7.6.2
- elasticsearch java client 7.6.2(属于spring boot starter data elasticsearch 2.3.0)
我正在将 docker elasticsearch 用于 spring boot 应用程序(也是一个 docker 容器),有时当我尝试访问通过聚合结果显示图表的页面时,它只会抛出如下异常:
这是我的spring es配置:
这是我用于 agg 的 java 代码:
这是一个非常简单的查询,但它只是间歇性地发生,起初我以为是因为查询超时,但在我添加该行后
.timeout(TimeValue.timeValueSeconds(30))
,仍然无法正常工作希望有人能帮我解决这个奇怪的问题
java - 如何在 Elasticsearch Java High-Level Client 6.8 的响应中仅获取失败的文档
在使用 Elasticsearch Java 高级 REST 客户端进行批量请求时,有什么方法可以在响应中仅获取失败的文档。
目前,ES 在响应中发送所有成功和失败的文档,我们正在重新处理所有失败的文档,我们正在迭代BulkItemResponse
查找失败的文档并重新处理它。
代表在bulkItemResponse.getItems()
批量操作中执行的每个操作(以相同的顺序!)。
java - Java Data Elasticsearch 客户端将端口 9200 附加到 url
Spring Data Elasticsearch 版本:
我不明白为什么我的 Elasticsearch Highlevel 客户端总是强制端口,9200
即使我指定了端口443
。
这是我定义的方式RestHighLevelClient
:
以及我如何使用模板:
我已经验证了主机和端口都在属性文件中设置:
在我收到的堆栈跟踪错误中:Caused by: java.io.IOException: https://vpc-example-ryphgjfwji3zonliyhhd3nu.eu-west-2.es.amazonaws.com:443:9200
,它似乎附加9200
到了 url 的末尾。为什么会这样?
我已经验证通过 curl 成功建立了连接。
编辑:添加了另一个堆栈跟踪
java - 如何在 Elasticsearch 中使用 RestHighLevelClient 获取不同的值?
我在这里看到了你们为下面给出的链接提供解决方案的帖子。 ElasticSearch Java API 从查询构建器中获取不同的值
有什么方法可以使用 实现不同的电子邮件org.elasticsearch.client.RestHighLevelClient
?你能帮我解决这个问题吗,我尝试了很多方法,但都无法解决。但我能够在 SQL Workbench 中实现相同的功能,下面使用 Kibana 翻译器给出了等效的 json 查询。
下面给出了等效的 Elasticsearch 查询:
所以现在我想使用 RestHighLevelClient 形成这个 JSON 查询,我已经尝试过,但问题是 RestHighLevelClient 中没有 prepareSearch() 是否有其他方法可以使用 RestHighLevelClient 来实现?
spring - 如何将 Spring Boot 与 Elasticsearch 7.3 连接起来
我正在使用 Elasticsearch 7.3 并且无法将其连接到我的 Spring Boot 应用程序以便使用ElasticsearchRepository
.
这些是我拥有的依赖项
编译组:'org.elasticsearch.client',名称:'transport',版本:'7.7.1'
编译组:'org.elasticsearch.client',名称:'elasticsearch-rest-high-level-client',版本:'7.7.1'
编译组:'org.springframework.data',名称:'spring-data-elasticsearch',版本:'4.0.1.RELEASE'
堆栈跟踪
但它没有运行。
java - 创建索引请求映射在弹性搜索中失败
我正在尝试在弹性搜索索引中创建 Join 数据类型,它正在从 kibana 控制台/通过 rest 工作,但是当我尝试以编程方式为索引创建映射时,它失败并出现以下错误,
映射:
代码 :
其中 inputObject.getMapping() 具有以下映射: