上下文: 1)我们正在构建CDC管道(使用& connect框架)
2)我们使用debezium捕获mysql Tx日志
3)我们使用弹性搜索连接器将文档添加到ES索引中。
由Debezium:生成的示例更改事件
{
"source" : {
"before" : {
"Id" : 97,
"name" : "Northland",
"code" : "NTL",
"country_id" : 6,
"is_business_mapped" : 0
},
"after" : {
"Id" : 97,
"name" : "Northland",
"code" : "NTL",
"country_id" : 6,
"is_business_mapped" : 1
},
"source" : {
"version" : "0.7.5",
"name" : "__",
"server_id" : 252639387,
"ts_sec" : 1547805940,
"gtid" : null,
"file" : "mysql-bin-changelog.000570",
"pos" : 236,
"row" : 0,
"snapshot" : false,
"thread" : 614,
"db" : "bazaarify",
"table" : "state"
},
"op" : "u",
"ts_ms" : 1547805939683
}我们想要的:
我们只想可视化基巴纳中的3列:
1)之前-包含嵌套的JSON作为字符串
2)将嵌套的JSON作为字符串包含后
3)源--包含嵌套的JSON作为字符串
在这里,我可以想出以下可能性:
( a)将嵌套JSON转换为字符串b)在弹性搜索中合并列数据
我是弹性搜索的新手。有人能指点我怎么做吗?
我也尝试过定义自定义映射,但这给了我一个例外。
发布于 2019-01-30 06:21:53
发布于 2019-01-30 08:00:13
我不完全理解您的用例,但是如果您想将一些json转换成它们的表示字符串,那么您可以使用logstash来实现它,甚至可以使用Elasticsearch将对象(json)转换为字符串的功能。
在上面的链接中,有一个例子:
PUT _ingest/管道/my-管线- id {“描述”:“将id字段的内容转换为整数”,“处理器”:{“转换”:{“字段”:“源”,“类型”:“字符串”}}
https://stackoverflow.com/questions/54434300
复制相似问题