我想使用elasticsearch& amp;索引和搜索mysql数据库。我按照本教程
https://github.com/jprante/elasticsearch-river-jdbc/wiki/Quickstart
首先我下载了elasticsearch并在其插件文件夹中安装了river-jdbc。然后在ES_HOME / plugins / river-jdbc /中添加了mysql-jdbc然后启动了elasticsearch并启动了另一个终端窗口,并使用此curl命令创建了一个名为my_jdbc_river的新JDBC河
curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localhost:3306/bablool",
"user" : "root",
"password" : "babloo",
"sql" : "select * from details"
},
"index" : {
"index" : "jdbc",
"type" : "jdbc"
}
}'
我收到以下错误: -
然后当我运行此命令时:curl -XGET 'localhost:9200/jdbc/jdbc/_search?pretty&q=*'
我收到了以下错误:
"error": "IndexMissingException[[jdbc] missing]", "status" : 404
当我在浏览器中提出这个时:
http://localhost:9201/_search?q=*
我是这样的:
{
"took": 51,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.0,
"hits": [
{
"_index": "_river",
"_type": "my_jdbc_river",
"_id": "_meta",
"_score": 1.0,
"_source": {
"type": "jdbc",
"jdbc": {
"driver": "com.mysql.jdbc.Driver",
"url": "jdbc:mysql://localhost:3306/bablool",
"user": "root",
"password": "babloo",
"sql": "select * from details"
},
"index": {
"index": "jdbc",
"type": "jdbc"
}
}
}
]
}
}
mysql dB索引了吗?我怎样才能在我的Db中搜索?
答案 0 :(得分:0)
我遇到了类似的问题,这就是我设法解决问题的方法:
首先,我通过http://localhost:9200/_cat/indices?v
删除健康状况为red
的所有指数(只有一个健康状况为红色的索引_river)
这是您在索引curl -XDELETE 'localhost:9200/_river/'
重做您提到的https://github.com/jprante/elasticsearch-river-jdbc/wiki/Quickstart
链接中的第7步希望它能解决你的问题:)祝你好运!!