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