Elasticsearch では、インデックスは 1 つ以上のプライマリ シャードで構成され、シャードは Lucene インスタンスです。各プライマリ シャードには、0 個以上のレプリカを含めることができます。レプリカの存在により、高可用性と検索パフォーマンスの向上が実現します。
1 つのシャードに大量のデータを保持できます。ただし、複数のシャードを使用すると、ワークロードを複数のプロセッサと複数のサーバーに分散することが容易になります。
つまり、バランスが必要です。シャードの適切な数は、データとコンテキストによって異なります。シャードは無料ではないため、100 ノードのクラスターを実行している場合は何千ものシャードがあると便利ですが、単一のノードでそれを行うことは望ましくありません。
Elasticsearch には、インデックスがあるだけでなく、型の概念があります。インデックスはデータベースのようなもの、型はテーブルのようなものと考えてください。
異なる型を使用してもオーバーヘッドはなく、個別のインデックスを使用するよりも例にうまく適合します。
すべてのタイプ (または選択したタイプのリスト) およびすべてのインデックス (または選択したリスト) または任意の組み合わせを検索できます。
各タイプには独自のフィールド (表の列など) を含めることができます。
したがって、あなたの例では、それぞれに独自のフィールドを持つ 3 つのタイプを含む 1 つのインデックスがあります。プライマリ シャードのデフォルト数 (5) とレプリカのデフォルト数 (1) から始めて、データをよりよく理解した場合にのみこれらを変更します。
注: Elasticsearch のインデックスとデータベースのインデックスを混同しないでください。