インデックス作成の場合、 MongoDB Search は各ドキュメントが別のドキュメントにネストされていない場合、単一のインデックスオブジェクトとしてカウントします。埋め込みドキュメントの場合、 MongoDB Search はネストのレベル数に応じて各埋め込みドキュメントを追加のインデックスオブジェクトとしてカウントします。MongoDB Search は、2、100、000、000インデックスオブジェクトを超えるインデックスの変更の複製を停止します。
MongoDB Search を別々の検索ノードに配置した場合は、インデックスをパーティショニングことでMongoDB Searchインデックスオブジェクトの数を増やすことができます。デフォルトでは 、 MongoDB Search はシャードごとに 1 つのパーティションをサポートしています。各パーティションは最大 2 億のインデックスオブジェクトをサポートします。numPartitions オプションを使用すると、最大 4 つの( 4)のパーティションを含むインデックスを作成できます。これらのパーティションは、クラスターまたはシャードごとに最大 8B のドキュメントをサポートする単一のインデックスを表します。
インデックスの パーティションを構成 すると、 MongoDB Search はインデックスオブジェクトをパーティション間で最適な方法で自動的に分散します。インデックスパーティションを持つコレクションに対してクエリを実行すると、 MongoDB Search はクエリをすべてのパーティションに分散し、検索結果とメタデータを収集して結果をソート、マージ、返します。
次の場合、インデックスをパーティショニングすることをお勧めします。
インデックス オブジェクトが合計上限数の 50% に達しています。
コレクション内のドキュメントの数が 20 億に達します。
インデックスには最大 80億のドキュメントが含まれます。
MongoDB Search がレプリケーションを停止したため、インデックスは
STALE状態です。
パーティションを設定するか、パーティション数を変更すると、 MongoDB Search はインデックスの再構築 をトリガーします。
クラスターに複数のパーティションがある場合は、すべての検索ノードを削除し、mongod プロセスと mongot プロセスの両方が 同じノードで実行される配置モデルに移行することはできません。
構文
1 { 2 "numPartitions": <integer> 3 }
サポートされている値
MongoDB Search numPartitions オプションには次の値があります。
1- 追加のパーティションなしで単一のインデックスを作成します。これはデフォルト値です。2- 最大 40 億のドキュメントに対して最大 2 つのパーティションを作成します。4- 最大 80 億のドキュメントに対して最大 4 つのパーティションを作成します。
例
次のインデックス例では、sample_mflix.moviesコレクションを使用して、コレクション内のデータに対して最大 4 のパーティションを構成する方法を示します。Atlas UIのビジュアル エディターまたは JSONエディター および の他のサポートされているクライアントを使用して、インデックスを作成できます。