私は最近、自分のアプリケーションに検索を実装するために ElasticSearch を探し始めました。私はMysqlに私のデータベースを持っています。>200万件のレコード。sphinx では、任意の mysql テーブル列に直接インデックスを作成できることを知っています。Elasticsearch でそれが可能かどうかを知りたかったのですが、直接ではなくても、それをどのように実装できるのでしょうか?
ありがとうモヒット
私は最近、自分のアプリケーションに検索を実装するために ElasticSearch を探し始めました。私はMysqlに私のデータベースを持っています。>200万件のレコード。sphinx では、任意の mysql テーブル列に直接インデックスを作成できることを知っています。Elasticsearch でそれが可能かどうかを知りたかったのですが、直接ではなくても、それをどのように実装できるのでしょうか?
ありがとうモヒット
Sphinx にあるような Elastic Search の mysql のネイティブ サポートは (現時点では) ありません。
エラスティック検索は検索に最適なオプションですが、データベース内でアイテムが変更されたときにアイテムの再インデックス作成をトリガーするために、おそらくいくつかのカスタム作業を行う必要があります。それがどのように達成されるかは、アプリケーションによって大きく異なります。Elastic Search には優れたほぼリアルタイムの検索機能があり、インデックス作成の負荷が高い場合でも適切に機能することが証明されているため、ほとんどのアプリケーションではインデックスの再作成をトリガーしても問題ありません。
NoSQLの動きも勢いを増しているようです。 一部のアプリケーションは、Elastic Search を唯一のデータ ストアとして使用します。
https://github.com/jprante/elasticsearch-river-jdbcがそれを行います。「操作テーブル」を使用して、mysql ソースからデータを同期できます。
初めてインストールするときは少しトリッキーですが、うまくいきます。
最初にプラグインをインストールする必要があります 次に、インポートしたデータを設定 (構成) する必要があります
Step-1 : エラスティック検索の最新バージョンをダウンロードする
ステップ 2: logstasch をダウンロードしたら、jdbc プラグインをインストールする必要があります
bin/plugin install logstash-input-jdbc
ステップ-3: mysql-jdbc ドライバーをダウンロードします... ダウンロードしたファイル名は mysql-connector-java-5.1.36.jar です。このファイルを logstash/drivers/mysql-connector-java-5.1.36.jar 内に配置します ....好きな場所に配置できます。しかし、パスを覚えておいてください。
ステップ-4: db.conf ファイルを作成し、logstash ディレクトリ内に配置します...私の場合、logstash-2.3.2/logstash-jdbc.conf の内容は次のとおりです。
Jdbc 入力パラメータの説明
jdbc_driver_library jdbc ライブラリのフル パス jdbc_driver_class ロードする JDBC ドライバ クラス。MySQL の場合は com.mysql.jdbc.Driver jdbc_connection_string JDBC mysql 接続文字列 jdbc_user MySQL ユーザー jdbc_password MySQL ユーザー パスワード スケジュール 1 分ごとに入力ステートメントを実行します。使用可能なスケジューリング オプション ステートメント MySQL ステートメント パラメータ MySQL ステートメントで渡すパラメータ
Jdbc 出力パラメータ 説明
パラメータ 説明
index Elasticsearch インデックス名 document_type Elasticsearch インデックス タイプ。document_id エラスティック検索ドキュメントの ID
Step-5:これでセットアップは完了です。logstart を開始する必要があります。その前にelasicsearchを開始します
次に、logstsh を開始し、構成用の jadbc-db.conf ファイルを指定します $ cd logstash-2.3.2 $ bin/logstash agent -f logstash-jdbc.conf
エラスティック検索 http://localhost:9200/users/users/_searchでデータをすばやくテストします
ありがとうデブス