View a markdown version of this page

Propiedad de índice: parcial FilterExpression - 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: parcial FilterExpression

Tipos de índices compatibles

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

Utilice la FilterExpression opción parcial para crear un índice parcial que solo incluya los documentos que cumplan una condición de filtro específica. Esto le permite crear índices más eficientes al indexar solo un subconjunto de documentos de una colección, en lugar de indexar todos los documentos, lo que reduce el tamaño del índice y ahorra espacio en la memoria. Como el tamaño del índice es más pequeño, las consultas que lo utilizan son más eficaces. Amazon DocumentDB utilizará el índice parcial en los siguientes escenarios:

  • El predicado de la consulta coincide exactamente con la expresión del filtro de índice parcial.

  • El resultado esperado del filtro de consulta es un subconjunto lógico del filtro parcial.

  • Se puede usar un subpredicado de la consulta junto con otros índices.

Para obtener más información, consulte Índice parcial.

Ejemplos

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

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

campo único

Cree un índice parcial de un solo campo sobre el fabricante para los productos que tengan un color de gris espacial:

db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )

Este índice se utilizará para buscar productos de color gris espacial por fabricante:

db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })

compuesto

Cree un índice compuesto parcial sobre el fabricante y el color de los productos que tengan un material de policarbonato:

db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )

Este índice se utilizará para buscar productos de policarbonato por fabricante y color:

db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })

tecla múltiple

Cree un índice parcial de varias teclas en las etiquetas de los productos cuyo fabricante sea The Manufacturer:

db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )

Este índice se utilizará para buscar productos etiquetados con una impresora cuyo fabricante sea The Manufacturer:

db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })