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 : clairsemé
Types d'index pris en charge
| Option | 3.6 | 4.0 | 5.0 | 8.0 | Cluster élastique |
|---|---|---|---|---|---|
| champ unique | Oui | Oui | Oui | Oui | Oui |
| compound | Oui | Oui | Oui | Oui | Oui |
| multiclé | Oui | Oui | Oui | Oui | Oui |
Utilisez l'option sparse pour ne pas indexer les documents dont le ou les champs indexés sont manquants, réduisant ainsi la taille de l'index et économisant de l'espace en mémoire. La taille de l'index étant plus petite, les requêtes qui l'utilisent sont plus efficaces. Pour qu'une requête utilise un index clairsemé, vous devez utiliser la clause $exists sur les champs indexés. Si vous omettez la clause $exists, Amazon DocumentDB n'utilisera pas l'index clairsemé.
Exemples
Les exemples suivants montrent comment créer des index épars 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') }
Notez que les champs de commentaires, de matériau et de couleur n'existent pas dans tous les documents.
champ unique
Créez un index de champ unique clairsemé sur le champ de matériau :
db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )
Cet indice sera utilisé pour trouver tous les produits ayant une valeur de matériau :
db.collection.find({ "material": { $exists: true } })
composé
Créez un index composé clairsemé sur les champs de matériau et de couleur :
db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )
Cet indice sera utilisé pour rechercher tous les produits présentant une combinaison quelconque de valeurs de matériau et de couleur :
db.collection.find({ "material": { $exists: true } }) db.collection.find({ "color": { $exists: true } }) db.collection.find({ $and: [ { "material": { $exists: true } }, { "color": { $exists:true } } ] }) db.collection.find({ $and: [ { "color": { $exists: true } }, { "material": { $exists:true } } ] })
multiclé
Créez un index multiclé clairsemé dans le tableau des critiques :
db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )
Cet index sera utilisé pour rechercher tous les produits dotés d'un tableau d'avis :
db.collection.find({ "reviews": { $exists: true } })