2

私のMySQLでは:

mysql> select * from cc;
+----+------+
| id | name |
+----+------+
|  1 | aa   |
|  2 | bb   |
+----+------+
2 rows in set (0.00 sec)

そしてelasticsearch jdbc Riverは次のとおりです。

curl -XPUT 'localhost:9201/_river/my_jdbc_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://localhost:3301/test",
        "user" : "root",
        "password" : "root",
    "poll" : "10s",
    "strategy" : "simple",
        "sql" : "select * from cc"
    }
}'

しかし、結果が次の理由であるelasticsearchインデックスデータがわかりません:

aa
bb
aa
bb
aa
aa
aa
bb
bb
bb

私はこのような結果だと思います:

aa
bb

私を助けてください、そして gsc-leticia がこの質問の内容をフォーマットするのを手伝ってくれてありがとう。

4

1 に答える 1

15

_id を定義しなかったため、川は毎分ドキュメントを追加します。

次のようなもので川を定義する必要があります。

curl -XPUT 'localhost:9201/_river/my_jdbc_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://localhost:3301/test",
        "user" : "root",
        "password" : "root",
    "poll" : "10s",
    "strategy" : "simple",
        "sql" : "select id as _id, name from cc"
    }
}'

詳細については、 JDBC River のドキュメントを参照してください。

于 2013-01-31T08:50:33.730 に答える