10

私は最近、自分のアプリケーションに検索を実装するために ElasticSearch を探し始めました。私はMysqlに私のデータベースを持っています。>200万件のレコード。sphinx では、任意の mysql テーブル列に直接インデックスを作成できることを知っています。Elasticsearch でそれが可能かどうかを知りたかったのですが、直接ではなくても、それをどのように実装できるのでしょうか?

ありがとうモヒット

4

4 に答える 4

4

Sphinx にあるような Elastic Search の mysql のネイティブ サポートは (現時点では) ありません。

エラスティック検索は検索に最適なオプションですが、データベース内でアイテムが変更されたときにアイテムの再インデックス作成をトリガーするために、おそらくいくつかのカスタム作業を行う必要があります。それがどのように達成されるかは、アプリケーションによって大きく異なります。Elastic Search には優れたほぼリアルタイムの検索機能があり、インデックス作成の負荷が高い場合でも適切に機能することが証明されているため、ほとんどのアプリケーションではインデックスの再作成をトリガーしても問題ありません。

NoSQLの動きも勢いを増しているようです。 一部のアプリケーションは、Elastic Search を唯一のデータ ストアとして使用します。

于 2011-12-23T19:14:21.963 に答える
4

https://github.com/jprante/elasticsearch-river-jdbcがそれを行います。「操作テーブル」を使用して、mysql ソースからデータを同期できます。

初めてインストールするときは少しトリッキーですが、うまくいきます。

最初にプラグインをインストールする必要があります 次に、インポートしたデータを設定 (構成) する必要があります

于 2013-04-18T06:25:38.393 に答える
0
  • ログスタッシュとは?Logstash は、リアルタイムのパイプライン機能を備えたデータ収集エンジンです。Logstash を使用してログを収集し、それらを目的の形式に解析して、アプリケーションの検索または監視用に保存できます。

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 の内容は次のとおりです。

input { jdbc { jdbc_driver_library => "/opt/logstash-2.3.2/drivers/mysql-connector-java-5.1.36.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql ://localhost/myapp_development" jdbc_user => "root" jdbc_password => "admin" parameters => { "user_list" => "users" } schedule => "* * * * *" statement => "select name,email from users" } } output { elasticsearch { index => "users" document_type => "users" document_id => "%{123}" hosts => "localhost:9200" } }

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でデータをすばやくテストします

ありがとうデブス

于 2016-05-22T06:18:20.050 に答える