翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インデックスプロパティ: partialFilterExpression
サポートされているインデックスタイプ
| オプション | 3.6 | 4.0 | 5.0 | 8.0 | Elastic クラスター |
|---|---|---|---|---|---|
| 単一フィールド | いいえ | なし | はい | はい | いいえ |
| compound | いいえ | なし | はい | はい | いいえ |
| マルチキー | いいえ | なし | はい | はい | いいえ |
| 地理空間 | いいえ | いいえ | いいえ | いいえ | いいえ |
partialFilterExpression オプションを使用して、指定されたフィルター条件を満たすドキュメントのみを含む部分インデックスを作成します。これにより、すべてのドキュメントのインデックスを作成するのではなく、コレクション内のドキュメントのサブセットのみをインデックス化して、インデックスサイズを減らし、メモリ内のスペースを節約することで、より効率的なインデックスを作成できます。インデックスサイズが小さいため、インデックスを使用するクエリの方が効率的です。Amazon DocumentDB は、次のシナリオで部分インデックスを使用します。
クエリ述語は、部分インデックスフィルター式と完全に一致します。
クエリフィルターの期待される結果は、部分フィルターの論理サブセットです。
クエリのサブ述語は、他のインデックスと組み合わせて使用できます。
詳細については、「部分インデックス」を参照してください。
例
次の例は、次のサンプルドキュメントで部分インデックスを作成する方法を示しています。
{ "productId": "PROD133726", "sku": "SKU24224", "name": "Basic Printer", "manufacturer": "The Manufacturer", "tags": [ "printer", "basic", "electronics", "business" ], "barcodes": [ "542364671", "886330670", "437445606" ], "reviews": [ { "review_date": ISODate('2024-01-19T21:37:10.585Z'), ... } ], "material": "Polycarbonate", "color": "Space Gray", "supplier": { "supplierId": "SUP4", "location": { "type": "Point", "coordinates": [ -71.0589, 42.3601 ] } }, "productEmbedding": [ -0.019320633663838058, 0.019672111388113596 ], "lastUpdated": ISODate('2025-10-20T21:37:10.585Z') }
単一フィールド
Space Gray の色を持つ製品の製造元に部分的な単一フィールドインデックスを作成します。
db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )
このインデックスは、製造元によって Space Gray カラー製品を検索するときに使用されます。
db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })
複合
Poly Carbonate のマテリアルを持つ製品の製造元と色に部分的な複合インデックスを作成します。
db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )
このインデックスは、製造元と色別にポリカーボネートマテリアル製品を検索するときに使用されます。
db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })
マルチキー
製造元がある製品のタグに部分的なマルチキーインデックスを作成します。
db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )
このインデックスは、製造元があるプリンターでタグ付けされた製品を検索するときに使用されます。
db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })