12

索引を追加することのオーバーヘッドは十分に文書化されていますが、索引付けされるさまざまな文書タイプに関して複数の索引をいつ使用するかについての適切な情報を見つけることができませんでした。

質問を説明するための一般的な例を次に示します。

次のエンティティがあるとします

  • 商品(商品名、商品ID、商品カテゴリーID、店舗一覧)
  • 商品カテゴリ (名前、ProductCategoryID)
  • 店舗 (名前、StoreID)

これら 3 つの異なるタイプのドキュメントを、それぞれ適切な .xml を持つ単一のインデックスにダンプする必要がありますelasticsearch typeか?

1 つのインデックスと複数のインデックスのどちらで線を引くかを決めるのに苦労しています。

無関係なエンティティ「Web ページ」を追加するとどうなるでしょうか。確かに別のインデックス?

4

2 に答える 2

7

私は最近、ElasticSearch バックエンドをゼロからモデリングしていましたが、私の観点からは、関連するすべてのドキュメント タイプを同じインデックスに配置するのが最善の方法です。

一部の人々は、同時インデックスが多すぎる(タイプごとに 1 つのインデックス) という問題を抱えていると読みました。同じインデックス内の関連する型を統合する方が、パフォーマンスと堅牢性に優れています。

さらに、タイプが同じインデックスにある場合は、「_parent 」フィールドを使用して、「 has_child」および「has_parent 」などの興味深い検索機能を可能にする階層モデルを作成できます。もちろん、モデル内でデータを複製する必要はありません。

于 2013-01-18T09:41:47.223 に答える