既存の正規化された mssql データベースからの Solr 増分データ インポートに取り組んでいます。実装する必要がある戦略を決定できないか、同じことを行うための既存のツールがあるかどうかわからないため、一からやり直す必要はありません。
ドキュメントを Solr 3.6 にインポートして Solr データを作成する必要があります。このデータは、高度に正規化された方法で MSSQL に保存されます。単一のドキュメントのデータを取得するには、多くの結合が必要であり、パフォーマンスが低下します。私はappxを持っています。100 万件のドキュメントがデータベースに保存されています。そのため、Solr への完全なインポートは私にとって選択肢ではありません。
アプローチを決定する際に、考慮すべき 2 つの問題があります。
- 増分データ インポート。これにより、データベースからデータを取得する際に SQL サーバーに大きな負荷がかからなくなります。
- SQL Serverで変更されたデータをSolrデータに1日1回更新
Solr に増分データをインポートするための戦略とツールを決定する際に、あなたの助けを求めています。私は、次のオプションがあると思います:
MSSQL からデータを取得して Solr に渡すアプリケーションをカスタム開発します。すべてのレコードが Solr に挿入され、保留中のレコードとして、データを追跡する必要があります。繰り返しになりますが、MSSQL の 2% のデータ レコードは毎日更新されるため、それ以降に変更されたデータを追跡し、ある時点でそれらを Solr に再度更新する必要があります。
DIH など、Solr の既存のツールまたはユーティリティを使用して同じことを行います。これが増分データ取得の問題と、SQL サーバーで変更されたデータを追跡する方法の両方にどのように対処するのかわかりません。繰り返しになりますが、DIH が複雑な結合をどのように処理するかは、db からデータを取得するために必要です。
または、DIH で Lusql のようなものを使用しますが、両方の問題にどのように対処するかはまだわかりません。Lusql は db で複雑な結合を行う機能を提供しますが、これが私の目的に合っていることを願っています。
Solr で DIH を使用して LuSQL を使用することに賛成ですが、それが目的に適合する場合は、どのデータが変更されたかを追跡する方法がわかりません。または、この部分では、変更が加えられたドキュメント ID を維持し、それを LuSQL に提供して SQL からデータを取得し、Solr にインポートすることで、手動で管理する必要があります。
このような状況に対処するために、これを超えた提案もお待ちしています。