2

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

4

1 に答える 1