

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.

# filterIndex
<a name="CWL_QuerySyntax-FilterIndex"></a>

 Wird verwendet, `filterIndex` um nur indizierte Daten zurückzugeben, indem eine Abfrage erzwungen wird, nur Protokollgruppen zu scannen, die für ein Feld indiziert sind, das Sie in der Abfrage angeben. Für diese Protokollgruppen, die in diesem Feld indexiert sind, wird die Abfrage weiter optimiert, indem die Protokollgruppen übersprungen werden, die keine Protokollereignisse enthalten, die das in der Abfrage für das indizierte Feld angegebene Feld enthalten. Das gescannte Volumen wird weiter reduziert, indem versucht wird, nur Protokollereignisse aus diesen Protokollgruppen zu scannen, die dem in der Abfrage für diesen Feldindex angegebenen Wert entsprechen. Weitere Informationen zu Feldindizes und deren Erstellung finden Sie unter[Erstellen Sie Feldindizes, um die Abfrageleistung zu verbessern und das Scanvolumen zu reduzieren](CloudWatchLogs-Field-Indexing.md).

`filterIndex`Mithilfe indizierter Felder können Sie Protokollgruppen, die Petabyte an Protokolldaten enthalten, effizient abfragen, indem der tatsächliche Suchbereich auf Protokollgruppen und Protokollereignisse mit Feldindizes beschränkt wird.

Nehmen wir beispielsweise an, Sie haben für einige Protokollgruppen `IPaddress` in Ihrem Konto einen Feldindex erstellt. Sie können dann die folgende Abfrage erstellen und alle Protokollgruppen im Konto abfragen, um nach Protokollereignissen zu suchen, die den Wert `198.51.100.0` im `IPaddress` Feld enthalten.

```
fields @timestamp, @message
| filterIndex IPaddress = "198.51.100.0"
| limit 20
```

Der `filterIndex` Befehl veranlasst diese Abfrage, alle Protokollgruppen zu überspringen, für `IPaddress` die kein Index erstellt wurde. Darüber hinaus überspringt die Abfrage innerhalb der indizierten Protokollgruppen Protokollereignisse, die zwar ein `IPaddress` Feld haben, aber nicht `198.51.100.0` als Wert für dieses Feld beobachtet wurden.

Verwenden Sie den `IN` Operator, um die Ergebnisse auf einen beliebigen Wert für die indizierten Felder zu erweitern. Im folgenden Beispiel werden Protokollereignisse gefunden, die entweder den Wert `198.51.100.0` oder das `198.51.100.1` `IPaddress` Feld enthalten. 

```
fields @timestamp, @message 
| filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"]
| limit 20
```

CloudWatch Logs stellt Standardfeldindizes für alle Protokollgruppen in der Standard-Protokollklasse bereit. Standardfeldindizes sind automatisch für die folgenden Felder verfügbar: 
+ `@logStream`
+ `@aws.region`
+ `@aws.account`
+ `@source.log`
+ `@data_source_name`
+ `@data_source_type`
+ `@data_format`
+ `traceId`
+ `severityText`
+ `attributes.session.id`

CloudWatch Logs bietet auch Standardfeldindizes für bestimmte Kombinationen von Datenquellennamen und -typen. Standardfeldindizes sind automatisch für die folgenden Kombinationen von Datenquellennamen und -typ verfügbar:


| Name und Typ der Datenquelle | Standard-Feldindizes | 
| --- | --- | 
|  `amazon_vpc.flow`  |  `action` `logStatus` `region` `flowDirection` `type`  | 
|  `amazon_route53.resolver_query`  |  `query_type` `transport` `rcode`  | 
|  `aws_waf.access`  |  `action` `httpRequest.country`  | 
|  `aws_cloudtrail.data` ` aws_cloudtrail.management`  |  `eventSource` `eventName` `awsRegion` `userAgent` `errorCode` `eventType` `managementEvent` `readOnly` `eventCategory` `requestId`  | 

Standardfeldindizes gelten zusätzlich zu allen benutzerdefinierten Feldindizes, die Sie in Ihrer Richtlinie definieren. Standardfeldindizes werden nicht auf Ihr [Feldindexkontingent](CloudWatchLogs-Field-Indexing-Syntax.md) angerechnet. 

## FilterIndex im Vergleich zu Filter
<a name="CWL_QuerySyntax-FilterIndex-Filter"></a>

Sehen Sie sich die folgenden Beispielabfragen an`filter`, um den Unterschied zwischen `filterIndex` und zu verdeutlichen. Gehen Sie davon aus`IPaddress`, dass Sie einen Feldindex für vier Ihrer Protokollgruppen erstellt haben, aber nicht für eine fünfte Protokollgruppe. Bei der folgenden Abfrage `filterIndex` wird das Scannen der Protokollgruppe übersprungen, für die das Feld nicht indexiert ist. Für jede indizierte Protokollgruppe wird versucht, nur Protokollereignisse zu scannen, bei denen das indizierte Feld vorhanden ist, und es werden auch nur Ergebnisse zurückgegeben, die nach der Erstellung des Feldindexes erstellt wurden.

```
fields @timestamp, @message 
| filterIndex IPaddress = "198.51.100.0" 
| limit 20
```

Wenn Sie dagegen `filter` statt `filterIndex` für eine Abfrage derselben fünf Protokollgruppen verwenden, versucht die Abfrage, nicht nur die Protokollereignisse zu scannen, die den Wert in den indizierten Protokollgruppen enthalten, sondern auch die fünfte Protokollgruppe, die nicht indexiert ist, und scannt jedes Protokollereignis in dieser fünften Protokollgruppe.

```
fields @timestamp, @message 
| filter IPaddress = "198.51.100.0" 
| limit 20
```