38

javascript または PHP を使用して Web サイトに Elastic Search を実装する方法に関する多くの優れたドキュメントを読んでいます。

ES への非常に良い紹介。

非常に完全なドキュメントhereおよびhere

全体のCRUD

PHP を使用したエラスティック検索: herehere、およびhere

これらの URL を提供する理由は、既存の SQL DB がある場合に、これらの優れたドキュメントの 1 つまたは多くを使用する方法を理解するためです。

私はどこかでポイントを逃しています:ElasticsearchはMongoDBで独自のインデックスとDBを作成すると彼らが言ったように、SQLを使用して(巨大な)データベースを使用する方法がわかりません? MySQL DB があり、Elasticsearch を使用して調査を高速化し、ユーザーが事前に作成したクエリを提案したいとします。どうすればよいですか? ES は MySQL 上で、または MySQL に沿ってどのように機能しますか? 最初に完全に効率的にするために、この巨大なデータセット (8GB 以上) を ES DB に転送する方法は?

どうもありがとう

4

2 に答える 2

21

私はmysqlでjdbc-riverを使用しています。とても速いです。データを継続的にポーリングするか、1 回限りの (ワンショット戦略) インポートを使用するように構成できます。

例えば

curl -xPUT http://es-server:9200/_river/my_river/_meta -d '
{
    "type" : "jdbc",
    "jdbc" : {
        "strategy" : "simple",
        "poll" : "5s",
        "scale" : 0,
        "autocommit" : false,
        "fetchsize" : 10,
        "max_rows" : 0,
        "max_retries" : 3,
        "max_retries_wait" : "10s",
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://mysql-server:3306/mydb",
        "user" : "root",
        "password" : "password*",
        "sql" : "select c.id, c.brandCode, c.companyCode from category c"
    },
    "index" : {
        "index" : "mainIndex",
        "type" : "category",
        "bulk_size" : 30,
        "max_bulk_requests" : 100,
        "index_settings" : null,
        "type_mapping" : null,
        "versioning" : false,
        "acknowledge" : false
    }
}'
于 2013-07-25T20:54:51.743 に答える