Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Propriété d'index : partielle FilterExpression
Types d'index pris en charge
| Option | 3.6 | 4.0 | 5.0 | 8.0 | Cluster élastique |
|---|---|---|---|---|---|
| champ unique | Non | Non | Oui | Oui | Non |
| compound | Non | Non | Oui | Oui | Non |
| multiclé | Non | Non | Oui | Oui | Non |
| géospatial | Non | Non | Non | Non | Non |
Utilisez l'FilterExpression option partial pour créer un index partiel qui inclut uniquement les documents répondant à une condition de filtre spécifiée. Cela vous permet de créer des index plus efficaces en indexant uniquement un sous-ensemble de documents d'une collection, plutôt que d'indexer tous les documents, en réduisant la taille de l'index et en économisant de l'espace en mémoire. La taille de l'index étant plus petite, les requêtes qui l'utilisent sont plus efficaces. Amazon DocumentDB utilisera l'index partiel dans les scénarios suivants :
Le prédicat de requête correspond exactement à l'expression du filtre d'index partiel.
Le résultat attendu du filtre de requête est un sous-ensemble logique du filtre partiel.
Un sous-prédicat de la requête peut être utilisé conjointement avec d'autres index.
Pour de plus amples informations, veuillez consulter Index partiel.
Exemples
Les exemples suivants montrent comment créer des index partiels sur le document d'exemple suivant :
{ "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') }
champ unique
Créez un index partiel à champ unique sur le fabricant pour les produits dont la couleur est gris sidéral :
db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )
Cet indice sera utilisé pour trouver des produits de couleur gris sidéral par fabricant :
db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })
composé
Créez un index composé partiel sur le fabricant et la couleur pour les produits contenant un matériau en polycarbonate :
db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )
Cet indice sera utilisé pour trouver des produits en polycarbonate par fabricant et par couleur :
db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })
multiclé
Créez un index multiclé partiel sur les étiquettes des produits dont le fabricant est The Manufacturer :
db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )
Cet index sera utilisé pour rechercher des produits étiquetés avec une imprimante dont le fabricant est le fabricant :
db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })