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