我正在为 ElasticSearch 配置 JDBC River,但找不到任何好的配置示例。我已经阅读了elasticsearch-river-jdbc GitHub 上的所有页面。
我有一个 SQL 查询,我需要每 X 秒从所有表列中获取更改。如何告诉 JDBC River 某行已更改并应重新编制索引?
在 ES 服务器启动期间获取数据,正在进行轮询,但不会将更改从 DB 获取到 ES。
我的配置:
curl -XPUT 'localhost:9200/_river/itemsi/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://mydb.com:3306/dbname",
"user" : "yyy",
"password" : "xxx",
"sql" : "SELECT ii.id AS _id, ii.id AS myid, ... FROM ... LEFT JOIN .. ON...",
"poll" : "6s",
"strategy" : "simple"
},
"index" : {
"index" : "invoiceitems",
"bulk_size" : 600,
"max_bulk_requests" : 10,
"bulk_timeout" : "5s",
}
}'
谢谢你。