次のシナリオを処理する最善の方法を誰かが教えてくれることを願っています。
データベースには 3 種類のエンティティ (e1、e2、e3) があり、それぞれが独自のテーブルにあります。これらのエンティティには、独自の主キー (e1.[k1]、e2.[k2]、e3.[k3]) と、いくつかの共通フィールドといくつかの固有フィールドがあります。
e1.[k1], e1.k2?, e1.k3?, e1.commonfield, e1.uniquefield
e2.[k2], e2.k3?, e2.commonfield
e3.[k3], e3.commonfield
どこで: [主キー]、オプション?
現在、私は 4 つのコアを使用しており、そのうちの 3 つがこれらのエンティティにマップされており、その特定のエンティティの主キーを使用してインポートを行う独自の import/deltaImport があります。4 番目のコアは残りの 3 つをシャードとして使用するため、3 つのエンティティ タイプすべてを同時に検索できます。これには、4 つのコアすべてのスキーマが同一である必要があります。
[id], k1?, k2?, k3?, commonfield, uniquefield?
Solr ドキュメント ID は、主キー値を連結することにより、CloneFieldUpdateProcessorFactory / ConcatFieldUpdateProcessorFactory を使用して生成されます。
これが正しい方法であるかどうかは疑問です。技術的には、これはシャーディングの候補ではありませんが、他にどのようなアプローチが可能か、または従うべきかはわかりません. この特定の例では、これは良いアプローチですか? より良いオプションはありますか?
よろしくお願いします。