AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Atlas インデックスの管理

インデックスは、クエリのパフォーマンスを向上させる特別なデータ構造です。インデックスは、コレクションのデータの一部を簡単に走査できる形式で保存します。 インデックスには、特定のフィールドまたはフィールド セットの値が、フィールド値の順に保存されます。

クエリのパフォーマンスを向上させるには、フィールド順でソートする操作やクエリで頻繁に表示されるフィールドにインデックスを構築します。

  • インデックス付きフィールドに対するクエリでは、インデックスを使用して、一致するドキュメントを見つけるためにスキャンする必要があるドキュメントの数を制限できます。

  • インデックス付きフィールドでソート操作を行うと、インデックス順で事前にソートされたドキュメントが返される場合があります。

インデックスの詳細については、「インデックス」を参照してください。

注意

Considerations

Indexes have some negative performance impact on write operations. For collections with high write-to-read ratio, indexes are expensive since each insert must also update any indexes. For a detailed list of considerations for indexes, see Operational Considerations for Indexes.

インデックスを作成、削除、または非表示にするには、次のいずれかのロールに帰属するアクセス権が必要です。

By default, you can have up to three concurrent index builds. To learn more, see Maximum Concurrent Index Builds.

警告

Data Explorer はクラスターのプライマリノードの Usage メトリクスのみを表示します。アプリケーションが主にセカンダリノードから読み取る場合、Usage メトリクスはクラスター全体のインデックスの使用状況を完全に反映しません。

For more comprehensive index usage statistics, run the $indexStats aggregation stage on each node in your cluster.

Indexes タブから、コレクションのインデックス情報を表示できます。コレクションの Indexes タブにアクセスするには:

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のData Explorerをクリックします。

    The Data Explorer displays.

重要: クラスターの名前をクリックしてCluster サイドバーを開き、Data Explorer 見出しの下のShortcuts をクリックすることもできます。

2
  1. コレクションを選択します。

  2. [Indexes] タブをクリックします。

Atlas は、各インデックスについて、次の情報を表示します。

名称と定義
インデックスとキーの名前。

タイプ

通常のインデックス、テキスト インデックス、地理空間インデックス、またはハッシュされたインデックス。

サイズ

インデックスの大きさ。

使用法

Number of times the primary node has used the index in a lookup since the index was created or the last server restart. This metric is for informational purposes only. To get comprehensive index usage statistics across all nodes, run the $indexStats aggregation stage on each node.

プロパティ

インデックスの特殊なプロパティ(一意性、部分性など)。

警告

Do not create indexes on encrypted fields. Creating indexes on encrypted fields that use Queryable Encryption negatively affect performance. Instead, you can create an index on the __safeContent__ field to support queries on encrypted fields.

1

From the Indexes tab, click the Create Index button.

2
  1. インデックス キーを指定します。

    • 既存のドキュメントフィールドをインデックス キーとして指定するには、ドロップダウンリストからフィールドを選択します。

    • どのドキュメントにも存在しないフィールドをインデックス キーとして指定するには、入力ボックスにフィールド名を入力します。

    • To create a compound index, click the plus icon next to the index type dropdown.

  2. 各フィールド名の右側にあるドロップダウンを使用して、インデックス タイプを指定します。次のいずれかのタイプを指定できます。

    • 上昇

    • 下降

    • 2dsphere

    • Text

ワイルドカード インデックスを指定する方法については、「ワイルドカード インデックスの作成」を参照してください。

3

Atlas は次のインデックスオプションをサポートしています。

オプション
説明
詳細情報

ユニークインデックスの作成

インデックス フィールドに重複する値が格納されていないことを確認します。

一意のインデックスのローリング ビルドは実行できません。unique index オプションを使用して、ローリング方式のインデックス構築を有効にすると、Atlas はエラーメッセージを表示して構成を拒否します。

インデックス名

インデックスの名前を指定します。

TTLインデックスを作成する

インデックス化されたフィールド値から指定された秒数が経過すると、ドキュメントが自動的に削除されます。

部分フィルター式

指定されたフィルター式に一致するドキュメントのみをインデックスします。

以下に例を挙げます。

次の部分フィルタ式は、 timezoneフィールドが存在するドキュメントのみをインデックスします。

{ "timezone": { "$exists": true } }

ワイルドカード プロジェクション

インデックス内の指定されたプロジェクションと一致する未知のフィールドまたは任意のフィールドをサポートします。ワイルドカードプロジェクションを使用するには、インデックスフィールド名を $** に設定します。これにより、Atlas はドキュメント内のすべてのフィールド(_idを除く)を使用するように指示されます。

以下に例を挙げます。

次のワイルドカード プロジェクションのドキュメントを検討します。

{
"product_attributes.elements" : 1,
"product_attributes.resistance" : 1
}

インデックス フィールド名が $** の場合、インデックスにはそのプロジェクションのフィールドの値のみが含まれます。

カスタム照合の使用

テキストボックスに照合ドキュメントを入力するか貼り付けて、インデックスのカスタム照合を作成します。

スパースインデックスの作成

インデックスは、インデックス付きフィールドが欠落しているドキュメントをスキップします。

ローリング プロセスで構築

インデックスビルドによるパフォーマンスへの影響を最小限に抑えることができます。

重要: ローリング方式でインデックスをビルドすると、クラスターの回復力が低下し、インデックス構築時間が増えます。通常のインデックス構築がニーズを満たせない場合にのみ、ローリングインデックス構築を使用することをお勧めします。

警告: ビルドが失敗したり、クラッシュ ループなど、予期しない問題が発生する可能性があるため、ローリングインデックスと複製されたインデックス構築プロセスを同時に実行することは避けてください。

M10+ クラスターではのみローリング インデックスをビルドできます。

ローリングインデックス構築中に、Atlas は各ノードをレプリカセットから取得し、スタンドアロンモードで開始してインデックス の構築を開始し、それをレプリカセットに返します。このプロセスは、クラスター内の各ノードに対してローリング シーケンスで繰り返されます。

Atlas がオフラインでインデックスの構築を行っている間は、ノードがダウンしているように表示される場合があります。これは期待される動作であり、問題ではありません。

4

Data ExplorerではMongoDB Search またはMongoDB ベクトル検索インデックスを作成できません。コレクションのMongoDB Search およびMongoDB ベクトル検索インデックスを管理するには、以下を参照してください。

You can create wildcard indexes to support queries against unknown or arbitrary fields. To create a wildcard index in Atlas, manually type the wildcard index field (<field>.$**) into the Select a field name input.

例

ドキュメントにuserMetadataオブジェクトが含まれるコレクションを検討します。userMetadataオブジェクト内のフィールドはドキュメントによって異なる場合があります。

userMetadata にワイルドカード インデックスを作成して、オブジェクト内のすべての潜在的なフィールドを考慮することができます。Select a field name入力に次の内容を入力します。

userMetadata.$**

ワイルドカード インデックスのタイプ(ascendingまたはdescending )を指定して、 Create Indexをクリックします。

Atlas は新しいインデックスのタイプを Wildcard として表示します。

クエリ プランナーからインデックスを非表示にすると、実際にインデックスを削除せずに、インデックスを削除した場合の潜在的な影響を評価できます。

1

Indexes タブで、非表示にしたいインデックスにカーソルを合わせます。

2

選択したインデックスにカーソルを合わせると右側に表示される、閉じた目のアイコンをクリックします。

3

ダイアログボックスで、非表示にするインデックスを確認します。選択を確認すると、Properties列の下にHiddenバッジが表示されます。

インデックスを再表示するには、手順 1-3 を繰り返します。インデックスを再表示すると、Atlas では Properties 列から Hidden バッジが取り除かれます。

1

[インデックス] タブからインデックスを削除するには、そのインデックスのごみ箱アイコンをクリックします。クリックすると、確認ダイアログが表示されます。

2

ダイアログで、削除するインデックスの名前を入力します。

3