在简单策略模式下,jdbc river插件会在添加新行时更新索引,但如果字段值发生更改,它是否会更新现有行?我注意到数据库中没有任何时间戳字段的映射,所以我认为它不是。
答案 0 :(得分:0)
您可以使用$river.state.last_active_begin
在查询中使用时间戳,如下例所示。这将获取自上次河流运行以来添加的产品行。
{
"type": "jdbc",
"jdbc": {
"url": "jdbc:mysql://localhost:3306/test",
"user": "",
"password": "",
"sql": [
{
"statement": "select * from \"products\" where \"mytimestamp\" > ?",
"parameter": [
"$river.state.last_active_begin"
]
}
],
"index": "my_jdbc_river_index",
"type": "my_jdbc_river_type"
}
}