自动将ElasticSearch与SQL同步

时间:2014-06-21 12:07:04

标签: java mysql jdbc elasticsearch elasticsearch-jdbc-river

我已经运行了此查询,但效果很好。

curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:mysql://localhost:3306/test",
        "user" : "myaccount",
        "password" : "myaccount",
        "sql" : "select * from orders"
    }
}'

似乎所有东西都被编入索引。但是,当我从Orders表中更改数据时,更改并未反映ElasticSearch中的文档。是否可以自动同步更新/更改的数据?

2 个答案:

答案 0 :(得分:3)

您需要为schedule添加另一个参数,告诉jdbc-river定期提取数据。

Here是对此的引用。

答案 1 :(得分:0)

我在Windows 7上使用弹性搜索。我在加载river-jdbc以将elasticsearch与mysql同步时遇到问题。我尝试加载所有river-jdbc河,但结果是:

执行错误

[java.lang.NoClassDefFoundError:org/elasticsearch/rest/XcontentThrowableRestResponse], NoClassDefFoundError[org/elasticsearch/rest/XcontentThrowableRestResponse], ClassNotFoundExeption[org/elasticsearch/rest/XcontentThrowableRestResponse]
  

P / s:OS:Window 7,elasticsearch 1.2.1,mysql-connector-java-5.1.25-bin.jar