2015-12-24 8 views
6

PostgreSQLデータベースのデータをSolr/Elasticsearchデータベースに絶えず変更するインデックスを作成する最適な方法は何ですか?Postgresからsolr/elasticsearchへのデータインデックス

AWS RDSにpostgresデータベースがあり、複雑な検索を実行したいと考えています。しかし、私が照会するデータは非常に高い書き込み/更新で絶えず変化しています。だから私はどのように効率的かつ確実にsolr/elasticsearchにデータを転送する必要がありますか分かりません。 Solrの場合に役立つ

答えて

2

ため

おかげで、一般的なアプローチは、(略しDIHData Import Handlerを使用することです。 & delta-import sqlを適切に設定します。delta importは、最後のインポートからタイムスタンプを使用して変更されたデータベースからデータをインポートします(タイムスタンプが適切な設計スキーマが必要です)。タイマーでデルタインポートを行い

  • :デルタインポートの

    タイミングは、別々に使用または組み合わせることができる2つのスタイルを持っています。 (例えば、5分ごと)

  • データベース内の各更新後、delta-importを呼び出します。

の詳細については、を参照してください。

4

他のStackOverflowスレッドにpostgres-to-elasticsearchを設定するリンクがあります。この質問に重複して記載されている可能性があります。 Atlassianにはthis blog postもあり、PostgreSQLからElasticSearchへのリアルタイム更新を取得する方法についても話しています。

tl; dr crowdのAtlassianスレッドは、ストアドPGSプロシージャを使用して、更新/挿入されたデータをステージングテーブルにコピーし、次にステージングテーブルを処理します。これは、ESまたはSolrのどちらでも動作する良いアプローチです。残念ながら、それはClojureに慣れていない限り、ロール・ツー・オーナーのソリューションです。