View a markdown version of this page

Indexeigenschaft: 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.

Indexeigenschaft: 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 Option Sparse, um die Indizierung von Dokumenten zu überspringen, denen die indizierten Felder fehlen. Dadurch wird die Indexgröße reduziert und Speicherplatz gespart. Da die Indexgröße kleiner ist, sind die Abfragen, die sie verwenden, effizienter. Damit eine Abfrage einen Index mit geringer Dichte verwendet, müssen Sie die $exists-Klausel für die indizierten Felder verwenden. Wenn Sie die $exists-Klausel weglassen, verwendet Amazon DocumentDB den Index mit geringer Dichte nicht.

Beispiele

Die folgenden Beispiele zeigen, wie Sie Indizes mit geringer Dichte für das folgende Beispieldokument erstellen:

{ "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 „Bewertungen“, „Material“ und „Farbe“ nicht in allen Dokumenten vorhanden sind.

einzelnes Feld

Erstellen Sie einen Einzelfeldindex mit geringer Dichte für das Materialfeld:

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

Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die einen Materialwert haben:

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

Verbindung

Erstellen Sie einen zusammengesetzten Index mit geringer Dichte für die Material- und Farbfelder:

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

Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die eine beliebige Kombination von Material- und Farbwerten haben:

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 Schlüssel

Erstellen Sie einen Index mit mehreren Schlüsseln für das Bewertungsarray:

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

Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die über ein Bewertungsfeld verfügen:

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