View a markdown version of this page

Index-Eigenschaft: spärlich - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Index-Eigenschaft: spärlich

Unterstützte Indextypen

Option 3.6 4,0 5.0 8.0 Elastischer Cluster
einzelnes Feld Ja Ja Ja Ja Ja
compound Ja Ja Ja Ja Ja
mehrere Schlüssel Ja Ja Ja Ja Ja

Verwenden Sie die Sparse-Option, um die Indizierung von Dokumenten zu überspringen, bei denen die indizierten Felder fehlen, wodurch die Indexgröße reduziert und Speicherplatz gespart wird. Da die Indexgröße kleiner ist, sind die Abfragen, die sie verwenden, effizienter. Damit eine Abfrage einen dünn besetzten Index verwendet, müssen Sie die $exists-Klausel für die indizierten Felder verwenden. Wenn Sie die $exists-Klausel weglassen, verwendet Amazon DocumentDB den Sparse-Index nicht.

Beispiele

Die folgenden Beispiele zeigen, wie man Sparse-Indizes für das folgende Beispieldokument erstellt:

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

Beachten Sie, dass die Felder Rezensionen, Material und Farben nicht in allen Dokumenten vorhanden sind.

einzelnes Feld

Erstellen Sie einen spärlichen Einzelfeldindex für das Materialfeld:

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

Dieser Index wird verwendet, um alle Produkte zu finden, die einen Wert für Material haben:

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

Verbindung

Erstellen Sie einen spärlichen zusammengesetzten Index für die Material- und Farbfelder:

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

Dieser Index wird verwendet, um alle Produkte zu finden, die eine beliebige Kombination von Material- und Farbwerten aufweisen:

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

mehrere Tasten

Erstellen Sie einen spärlichen Index mit mehreren Schlüsseln für das Bewertungs-Array:

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

Dieser Index wird verwendet, um alle Produkte zu finden, die über ein Bewertungs-Array verfügen:

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