{
type: jdbc
jdbc: {
url: jdbc:oracle:thin:@host:1521/orcl
user: test
password: test
sql: select id as _id,name from test
}
index:{
index:test,
type:test
}
}我现在数据能导入可是如果数据库这边数据发生变化怎么让es这边同步,网上查的说要在数据表上添加时间戳字段可是如果每张表都要加工作量太大了,有没有别的什么方法?
type: jdbc
jdbc: {
url: jdbc:oracle:thin:@host:1521/orcl
user: test
password: test
sql: select id as _id,name from test
}
index:{
index:test,
type:test
}
}我现在数据能导入可是如果数据库这边数据发生变化怎么让es这边同步,网上查的说要在数据表上添加时间戳字段可是如果每张表都要加工作量太大了,有没有别的什么方法?
8 个回复
Xargin
赞同来自: liunique 、tianzhaixing
楼主大概没有认真阅读es-jdbc的文档
用这个工具的时候需要select的时候显式指定 as _id,es会使用这个id作为唯一键去覆盖掉对应的文档
如果不这么写的话,那每次拿到的数据都会去创建新条目的
medcl - 今晚打老虎。
赞同来自: liunique
MrLee - 测试开发
赞同来自: liunique
jdbc 的话是无法做到真正的实时的,只有配置 schedule 让它不断执行,并且可以指定一个 tracking_column 来每次只导入新增的条目。
tianzhaixing - 80后IT男
赞同来自:
wangcongyi_zz - 创造自己所想。
赞同来自:
medcl - 今晚打老虎。
赞同来自:
owen
赞同来自:
twinboss - 90后IT男
赞同来自: