インデックス タイプ
このページでは、MongoDB で作成できるインデックスの種類について説明します。異なるインデックス タイプは、異なるタイプのデータとクエリをサポートします。
単一フィールド インデックス
単一のフィールド インデックスは、コレクション内の各ドキュメントの単一のフィールドからデータを収集してソートします。
この図は、単一のフィールド score
のインデックスを示しています。
詳細については、「単一フィールド インデックス」を参照してください。
複合インデックス
複合インデックスは、コレクション内の各ドキュメントにある 2 つ以上のフィールドからデータを収集してソートします。インデックスの最初のフィールドによりデータはグループ化され、その後は後続のフィールドによりグループ化されます。
たとえば、次の画像は、ドキュメントが最初に userid
によって昇順(アルファベット順)でグループ化されている複合インデックスを示しています。次に、各 userid
の scores
が降順でソートされます。
詳細については、「複合インデックス」を参照してください。
Multikey Index
マルチキー インデックスは、配列に格納されたデータを収集し、ソートします。
マルチキーのタイプを明示的に指定する必要はありません。配列値を含むフィールドにインデックスを作成すると、MongoDB は自動的にそのインデックスをマルチキー インデックスに設定します。
この図は、addr.zip
フィールドのマルチキー インデックスを示しています。
詳細については、「マルチキー インデックス」を参照してください。
地理空間インデックス
地理空間インデックスにより、地理空間座標データに対するクエリのパフォーマンスが向上します。詳細については、「地理空間インデックス」を参照してください。
MongoDB は 2 種類の地理空間インデックスを提供します。
平面ジオメトリを使用して結果を返す 2D インデックス
球状ジオメトリを使用して結果を返す 2dsphere インデックス
Text Index
テキストインデックスは、文字列コンテンツを含むフィールドでのテキスト検索クエリをサポートします。
詳細については、「自己管理型配置のテキスト インデックス 」を参照してください。
注意
Atlas 配置で Atlas Search または Atlas ベクトル検索を使用する
MongoDB Atlasでホストされているデータに対して、 MongoDB は次のテキスト検索ソリューションを提供します。
Atlas Search は、オンプレミスのテキスト検索と比較して、パフォーマンスと機能が向上しています。
Atlas ベクトル検索 は、セマンティック検索、ハイブリッド検索、生成検索を実行するためのベクトル検索機能を提供します。
ハッシュされたインデックス
ハッシュされたインデックスはハッシュされたシャーディングをサポートします。ハッシュされたインデックスは、フィールドの値のハッシュをインデックスします。
詳細については、「ハッシュされたインデックス」を参照してください。
クラスター化されたインデックス
バージョン 5.3 で追加。
クラスター化されたインデックスは、クラスター化されたコレクションがデータを格納する順序を指定します。クラスター化されたインデックスを使用して作成されたコレクションは、クラスター化されたコレクションと呼ばれます。
クラスター化されたインデックスを使用してコレクションを作成する方法については、「クラスター化されたコレクションの例」を参照してください。