【问题标题】:elasticsearch jdbc river polling--- load data from mysql repeatedlyelasticsearch jdbc river polling---重复从mysql加载数据
【发布时间】:2013-10-04 09:28:24
【问题描述】:

使用https://github.com/jprante/elasticsearch-river-jdbc 时,我注意到以下 curl 语句第一次成功索引数据。但是,河流无法反复轮询数据库以获取更新。

重申一下,当我运行以下命令时,河流成功连接到 MySQL,成功运行查询,索引结果,但再也没有运行查询。

curl -XPUT '127.0.0.1:9200/_river/projects_river/_meta' -d '{
"type" : "jdbc",
"index" : {
    "index" : "test_projects",
    "type" : "project",
    "bulk_size" : 100,
    "max_bulk_requests" : 1,
    "autocommit": true
    },
"jdbc" : {
    "driver" : "com.mysql.jdbc.Driver",
    "poll" : "1m",
    "strategy" : "simple",
    "url" : "jdbc:mysql://localhost:3306/test",
    "user" : "root",
    "sql" : "SELECT name, updated_at from projects p where p.updated_at > date_sub(now(),interval 1 minute)"
    }
}'

跟踪日志,我看到了:

[2013-09-27 16:32:24,482][INFO][org.elasticsearch.river.jdbc.strategy.simple.SimpleRiverFlow] 下一次运行,等待 1m [2013-09-27 16:33:24,488][INFO]> [org.elasticsearch.river.jdbc.strategy.simple.SimpleRiverFlow] 下一次运行,等待 1m [2013-09-27 16:34:24,494][INFO ]> [org.elasticsearch.river.jdbc.strategy.simple.SimpleRiverFlow] 下一次运行,等待 1m

但索引保持为空。在 macbook pro 上运行,elasticsearch 版本稳定 0.90.2,HEAD 和 mysql-connector-java-5.1.25-bin.jar 在 river pligns 目录中。

【问题讨论】:

    标签: plugins jdbc elasticsearch elasticsearch-plugin


    【解决方案1】:

    我认为,如果您将策略值从“简单”切换为“轮询”,您可能会得到您想要的 - 它在针对 MS SQL 的那个版本的弹性搜索中使用 jdbc 对我有用。

    另外 - 您需要选择一个字段作为 _id(选择主键作为 _id),因为这在弹性搜索河中用于确定添加/删除/更新哪些记录。

    【讨论】:

    • 接受你的回答,即使我没有尝试过——传递消化假和自动提交真对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多