Elasticsearch を使用して 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 はインデックス化されていますか? データベースで検索するにはどうすればよいですか?