首页 > 解决方案 > kafka-connect-elasticsearch:将消息存储为预定义索引的格式

问题描述

例子:

{"id":"1","firstName":"abc","lastName":"xyz","dob":"12/09/1995","age":"23"}

此消息结构在 kafka 主题中,但我想在弹性搜索中对其进行索引,如下所示

{"id":"1","name"{"firstName":"abc","lastName":"xyz"},"dob":"12/09/1995","age":"23"}

我怎么能做到这一点?

标签: elasticsearchapache-kafka

解决方案


两种选择:

  1. 针对 Kafka 主题中的数据进行流式处理。使用 Kafka Streams,您可以根据需要处理数据模型。KSQL 可以反过来解决这个问题,但还不支持创建STRUCT。其他流处理选项包括 Flink、Spark Streaming 等

  2. 使用单消息转换在通过 Kafka Connect 时修改数据。没有预先构建的转换可以做到这一点,但您可以使用API编写一个。

免责声明:我为开源 KSQL 项目背后的公司 Confluent 工作,为 Kafka Streams、Kafka Connect 等做出贡献。


推荐阅读