2017-06-27 16 views
0

私は複数の倉庫を持つ電子商取引サイトを設計しています。すべての倉庫には同じセットの製品があります。 私は自分の検索エンジンにElasticSearchを使用しています。 ESドキュメントごとに40個のフィールドがあります。それらのうち20個は倉庫ごとに価値が異なり、残りの20個のフィールドにはすべての倉庫に同じ値が含まれます。ElasticSearch単一のインデックスで同じマッピングを持つ複数のタイプ

1つのインデックスに複数のタイプ(各倉庫ごとに1つのタイプ)を使用したいと考えています。 すべてのタイプは同じマッピングを持ちます。私のアプローチがそのようなシナリオに対して正しいのかどうかアドバイスしてください。私にははっきりしていない

いくつかのこと、

  1. は転置インデックスは、同じインデックス内のすべてのタイプのために一度だけ作成されますか?
  2. 将来新しいタイプ(新しい倉庫)が追加され、以前に保存されたデータとのマージ方法。
  3. 1つのインデックスで1つのタイプのみを使用した場合のクエリ時間にどのように影響しますか。新しい用語を追加する - 同じインデックスに割り当てられているすべてのタイプによっては、それが唯一の新しいタイプが追加された場合、その情報は、同様に、既存の転置インデックスに追加されるとし、
  4. 作成されます

答えて

1
  1. インデックスに既存の用語へのポインタを追加し、挿入された新しいドキュメントごとにドキュメント値にデータを追加します。
  2. 私は正直言ってそれに答えることはできませんが、これを概念証明で簡単にテストすることは簡単です。

以前のプロジェクトでは、マルチシーッププラットフォームでElasticsearchを使用した検索エンジンを実装する同じ設定を経験しました。その場合、我々はすべてのショップを1つのタイプにし、ショップごとに検索するときに関連するフィルターを適用しました。しかし、 "_type"でショップデータを分離するアプローチは、私にとってはきれいに思えます。フィーチャリクエストの瞬間に私の実装がすでにフィルタによってそれをカバーすることができたので、私はそれを他の方法で適用しました。

cheers、Dominik

関連する問題