gpt4 book ai didi

java - 从 BulkRequest 捕获特定的 Elasticsearch 异常

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:16 26 4
gpt4 key购买 nike

我使用 Java 将一些带有 BulkRequest 的文档索引到 Elasticsearch 1.4.2 中。

其中一些文档仅在索引中尚未存在时才需要写入,因此我将 CREATE-opType 设置为如下:

indexRequestBuilder.opType(IndexRequest.OpType.CREATE)

现在索引中已有的文档在 BulkResponse 中失败。

错误消息bulkItemResponse.getFailureMessage():

DocumentAlreadyExistsException[...]

我想忽略此类异常,但重新尝试为所有其他类型的异常编写文档。

那么我怎样才能捕获DocumentAlreadyExistsException

我可以使用 bulkItemResponse.getFailure() 获取 Failure,但除了错误消息之外,我找不到有关异常类型的任何信息。

我可以在错误消息中查找异常名称,但这对于新的 Elasticsearch 版本可能相当脆弱:

if(bulkItemResponse.getFailureMessage().startsWith("DocumentAlreadyExistsException[")

有更好的方法吗?

最佳答案

这不可能。批量请求实际上是在服务器端而不是客户端执行的。因此它所能做的就是发回堆栈跟踪而不是异常对象。

关于java - 从 BulkRequest 捕获特定的 Elasticsearch 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com