我有一个带有 JSON 数据的 Kafka 主题。现在我正在尝试使用新的“Java API Client”() 将这些 JSON 字符串发送到 ES 主题,但我遇到了解析器异常:
co.elastic.clients.elasticsearch._types.ElasticsearchException: [es/index] failed: [mapper_parsing_exception] failed to parse
at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:281)
at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:147)
at co.elastic.clients.elasticsearch.ElasticsearchClient.index(ElasticsearchClient.java:953)
此异常发生在以下代码的最后一行:
final IndexRequest request =
new IndexRequest.Builder()
.index("myIndex")
.id(String.valueOf(UUID.randomUUID()))
.document(consumerRecord.value()) //already serialized json data
.build();
elasticsearchClient.index(request);
据我了解,出现此异常是因为 ES 客户端尝试序列化我提供的数据,该数据已经序列化,导致 JSON 字符串格式错误。
有没有办法解决这个问题,只发送简单的 JSON 字符串?我也相信早期的“低级 Java 库”可以做到这一点,对吧?是的,我知道有一些方法可以在 Kafka 和 ES 之间进行通信,而无需编写 Consumer。
感谢任何提示。
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容