View a markdown version of this page

Proprietà dell'indice: parziale FilterExpression - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Proprietà dell'indice: parziale FilterExpression

Tipi di indice supportati

Opzione 3.6 4.0 5.0 8.0 Cluster elastico
campo singolo No No No
compound No No No
chiave multipla No No No
geospaziale No No No No No

Utilizzate l'FilterExpression opzione partial per creare un indice parziale che includa solo i documenti che soddisfano una condizione di filtro specificata. Ciò consente di creare indici più efficienti indicizzando solo un sottoinsieme di documenti in una raccolta, anziché indicizzando tutti i documenti, riducendo le dimensioni dell'indice e risparmiando spazio in memoria. Poiché la dimensione dell'indice è inferiore, le query che lo utilizzano sono più efficienti. Amazon DocumentDB utilizzerà l'indice parziale nei seguenti scenari:

  • Il predicato della query corrisponde esattamente all'espressione del filtro dell'indice parziale.

  • Il risultato previsto dal filtro di interrogazione è un sottoinsieme logico del filtro parziale.

  • Un sottopredicato della query può essere utilizzato insieme ad altri indici.

Per ulteriori informazioni, consulta Indice parziale.

Esempi

Gli esempi seguenti mostrano come creare indici parziali nel seguente documento di esempio:

{ "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 singolo

Crea un indice parziale a campo singolo sul produttore per i prodotti che hanno il colore grigio siderale:

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

Questo indice verrà utilizzato per trovare prodotti di colore grigio siderale in base al produttore:

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

composto

Crea un indice composto parziale sul produttore e sul colore per i prodotti che hanno un materiale in policarbonato:

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

Questo indice verrà utilizzato per trovare prodotti in policarbonato suddivisi per produttore e colore:

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

chiave multipla

Crea un indice parziale a più chiavi sui tag per i prodotti il cui produttore è The Manufacturer:

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

Questo indice verrà utilizzato per trovare prodotti etichettati con stampante il cui produttore è The Manufacturer:

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