【发布时间】:2023-03-19 23:10:01
【问题描述】:
当我使用 JDBC 将 Elasticsearch 连接到我的 MySQL 数据库时。
我希望它定期获取以从数据库中获取最新更改,但从日志中看起来它会在每次迭代时复制所有数据,而不仅仅是最近的更改。虽然当我使用 REST API 进行搜索时,我看不到任何重复项。这正常吗?
日志每分钟都会这样说(rows 每次增加约 3000 个):
[INFO][river.jdbc.RiverMetrics ] pipeline org.xbib.elasticsearch.plugin.jdbc.RiverPipeline@273cf2ca complete: river jdbc/items metrics: 24745 rows, 61.24885239965816 mean, (56.52859885706843 11.685682148116433 3.916887460538012), ingest metrics:经过 0 秒,291,25 KB 字节,12.0 字节平均,1,061 MB/s [2015-05-20 22:22:15,607][INFO][cluster.routing.allocation.decider][6TQNFDctRSaYVFyKjQahJA][Gideon] 超过 [6TQNFDctRSaYVFyKjQahJA][Gideon] 免费:26.6gb [11.4%] [Gideon] 低磁盘水印 [15%] ,副本不会分配给这个节点
这是我用来启动 JDBC 的
curl -XPUT 'localhost:9200/_river/items/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/mydb",
"user" : "root",
"password" : "123",
"sql" : "select items.id as _id from items",
"index": "items",
"type": "item",
"schedule" : "0 0-59 0-23 ? * *"
}
}'
这是正常行为吗?
【问题讨论】:
标签: java mysql jdbc elasticsearch