View a markdown version of this page

Propiedad de índice: dispersa - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Propiedad de índice: dispersa

Tipos de índices compatibles

Opción 3.6 4.0 5.0 8.0 Elastic Cluster
campo único
compuesto
tecla múltiple

Utilice la opción dispersa para omitir la indexación de los documentos a los que les falten los campos indexados, reduciendo así el tamaño del índice y ahorrando espacio en la memoria. Como el tamaño del índice es más pequeño, las consultas que lo utilizan son más eficaces. Para que una consulta utilice un índice disperso, debe utilizar la cláusula $exists en los campos indexados. Si omite la cláusula $exists, Amazon DocumentDB no utilizará el índice disperso.

Ejemplos

Los siguientes ejemplos muestran cómo crear índices dispersos en el siguiente documento de muestra:

{ "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') }

Tenga en cuenta que las reseñas, el material y los campos de color no existen en todos los documentos.

campo único

Cree un índice de campo único disperso en el campo de material:

db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )

Este índice se utilizará para buscar todos los productos que tengan un valor de material:

db.collection.find({ "material": { $exists: true } })

compuesto

Cree un índice compuesto disperso en los campos de material y color:

db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )

Este índice se utilizará para buscar todos los productos que tengan cualquier combinación de valores de material y color:

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 } } ] })

tecla múltiple

Cree un índice disperso de varias claves en la matriz de reseñas:

db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )

Este índice se utilizará para encontrar todos los productos que tengan una matriz de reseñas:

db.collection.find({ "reviews": { $exists: true } })