gpt4 book ai didi

java - Elasticsearch插入重复数据?

转载 作者:行者123 更新时间:2023-11-29 22:24:55 26 4
gpt4 key购买 nike

当我使用此 JDBC 将 Elasticsearch 连接到我的 MySQL 数据库时.

我希望它定期获取以从数据库获取最新的更改,但从日志来看,它会在每次迭代时复制所有数据,而不仅仅是最近的更改。尽管当我使用 REST API 进行搜索时,我看不到任何重复项。这正常吗?

日志每分钟都会显示一次(每次增加约 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: elapsed 0 seconds, 291,25 KB bytes, 12.0 bytes avg, 1,061 MB/s [2015-05-20 22:22:15,607][INFO ][cluster.routing.allocation.decider] [Gideon] low disk watermark [15%] exceeded on [6TQNFDctRSaYVFyKjQahJA][Gideon] free: 26.6gb[11.4%], replicas will not be assigned to this node

这是我用来启动 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 ? * *"
}
}'

这是正常行为吗?

最佳答案

是的,这很正常。 ES 总是会重新索引从 sql 查询返回的所有行。

您可以检查文档的_version字段,发现它在每次河流执行后都会增加。

确实,您应该避免使用河流,因为它们是 deprecated .

关于java - Elasticsearch插入重复数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30359722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com