当我使用此JDBC将Elasticsearch连接到我的MySQL数据库时。Elasticsearch插入重复数据?
我希望它定期获取来自数据库的最新更改,但它看起来像是从日志中复制每次迭代中的所有数据,而不是最近的更改。尽管当我使用REST API进行搜索时,我看不到任何重复项。这是正常的吗?
日志说,这每分钟(与rows
与3000〜每次增加):
[INFO] [river.jdbc.RiverMetrics]管道org.xbib.elasticsearch.plugin.jdbc.RiverPipeline @ 273cf2ca complete:river jdbc/items度量:24745行,61.24885239965816平均值,(56.52859885706843 11.685682148116433 3.916887460538012),摄取指标:已用时间0秒,291,25 KB字节,12.0字节平均值,1,061 MB /秒 [2015-05-20 22 :22:15,607] [INFO] [cluster.routing.allocation.decider] [Gideon]在[6TQNFDctRSaYVFyKjQahJA] [Gideon] free:26.6gb [11.4%]上超出了低磁盘水印[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 ? * *"
}
}'
这是正常的行为呢?
但是,根据作者的说法,JDBC河流[未来证明](https://github.com/jprante/elasticsearch-jdbc#this-plugin-is-future-proof),因为它可以用作独立模块,这是根据“贬低河流”条款前进的方式之一。 – Val
我会补充说Elasticsearch请求是幂等的,这就是为什么即使您将同一个文档编索引数百次也没有重复 –