View a markdown version of this page

Index-Eigenschaft: teilweise FilterExpression - 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: teilweise FilterExpression

Unterstützte Indextypen

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

Verwenden Sie die FilterExpression Option partiell, um einen Teilindex zu erstellen, der nur Dokumente enthält, die eine bestimmte Filterbedingung erfüllen. Auf diese Weise können Sie effizientere Indizes erstellen, indem Sie nur eine Teilmenge der Dokumente in einer Sammlung indizieren, anstatt alle Dokumente zu indizieren, wodurch die Indexgröße reduziert und Speicherplatz gespart wird. Da die Indexgröße kleiner ist, sind die Abfragen, die sie verwenden, effizienter. Amazon DocumentDB verwendet den Teilindex in den folgenden Szenarien:

  • Das Abfrageprädikat entspricht exakt dem Filterausdruck für den partiellen Index.

  • Das erwartete Ergebnis des Abfragefilters ist eine logische Teilmenge des Teilfilters.

  • Ein Unterprädikat der Abfrage kann in Verbindung mit anderen Indizes verwendet werden.

Weitere Informationen finden Sie unter Teilweiser Index.

Beispiele

Die folgenden Beispiele zeigen, wie Teilindizes für das folgende Beispieldokument erstellt werden:

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

einzelnes Feld

Erstellen Sie für Produkte mit der Farbe Space Grey einen teilweisen Herstellerindex für ein einzelnes Feld:

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

Dieser Index wird bei der Suche nach Produkten in der Farbe Space Grey nach Herstellern verwendet:

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

Verbindung

Erstellen Sie einen partiellen Verbundindex nach Hersteller und Farbe für Produkte, die aus Polycarbonat bestehen:

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

Dieser Index wird bei der Suche nach Produkten aus Polycarbonat-Material nach Hersteller und Farbe verwendet:

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

mehrere Tasten

Erstellen Sie einen teilweisen Index mit mehreren Schlüsseln für Tags für Produkte, deren Hersteller den Namen The Manufacturer hat:

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

Dieser Index wird bei der Suche nach Produkten verwendet, die mit einem Drucker gekennzeichnet sind und deren Hersteller von The Manufacturer stammt:

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