elasticsearch jdbc river插件是否跟踪mysql中现有行的更改?

时间:2014-01-22 10:20:59

标签: elasticsearch elasticsearch-jdbc-river

在简单策略模式下,jdbc river插件会在添加新行时更新索引,但如果字段值发生更改,它是否会更新现有行?我注意到数据库中没有任何时间戳字段的映射,所以我认为它不是。

1 个答案:

答案 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"
  }
}