

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

 Use `filterIndex` para retornar somente dados indexados, forçando uma consulta a verificar somente grupos de logs indexados em um campo especificado na consulta. Para esses grupos de logs indexados nesse campo, ele otimiza ainda mais a consulta ignorando os grupos que não têm nenhum evento de logs contendo o campo especificado na consulta do campo indexado. Isso reduz ainda mais o volume escaneado ao tentar verificar somente eventos de logs desses grupos que correspondam ao valor especificado na consulta para esse índice de campo. Para obter mais informações sobre os índices de campo e como criá-los, consulte [Crie índices de campo para melhorar o desempenho da consulta e reduzir o volume de escaneamento](CloudWatchLogs-Field-Indexing.md).

O uso de `filterIndex` com campos indexados pode ajudar você a consultar grupos de logs que incluem petabytes de dados de log de forma eficiente, limitando o espaço de pesquisa real a grupos e eventos de logs que têm índices de campo.

Por exemplo, suponha que você criou um índice de campos para `IPaddress` em alguns dos grupos de logs da sua conta. Em seguida, você pode criar a consulta a seguir e optar por consultar todos os grupos de logs na conta para encontrar eventos de logs que incluam o valor `198.51.100.0` no campo `IPaddress`.

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

O comando `filterIndex` faz com que essa consulta tente ignorar todos os grupos de logs que não estão indexados para `IPaddress`. Além disso, nos grupos de logs indexados, a consulta ignora eventos de logs que têm um campo `IPaddress`, mas não observaram `198.51.100.0` como o valor desse campo.

Use o operador `IN` para expandir os resultados para qualquer um dos vários valores dos campos indexados. O exemplo a seguir encontra eventos de logs que incluem o valor `198.51.100.0` ou `198.51.100.1` no campo `IPaddress`. 

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

CloudWatch Os registros fornecem índices de campo padrão para todos os grupos de registros na classe de registros padrão. Os índices de campo padrão ficam disponíveis automaticamente para os seguintes campos: 
+ `@logStream`
+ `@aws.region`
+ `@aws.account`
+ `@source.log`
+ `@data_source_name`
+ `@data_source_type`
+ `@data_format`
+ `traceId`
+ `severityText`
+ `attributes.session.id`

CloudWatch O Logs também fornece índices de campo padrão para determinadas combinações de nome e tipo de fonte de dados. Os índices de campo padrão estão disponíveis automaticamente para as seguintes combinações de nome e tipo de fonte de dados:


| Nome e tipo da fonte de dados | Índices de campo padrão | 
| --- | --- | 
|  `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`  | 

Os índices de campo padrão são adicionais aos índices de campo personalizados definidos em sua política. Os índices de campo padrão não são contabilizados em sua [cota de índice de campo](CloudWatchLogs-Field-Indexing-Syntax.md). 

## filterIndex comparado ao filtro
<a name="CWL_QuerySyntax-FilterIndex-Filter"></a>

Para ilustrar a diferença entre `filterIndex` e `filter`, considere os exemplos de consultas a seguir. Suponha que você criou um índice de campo para `IPaddress` e para quatro de seus grupos de logs, mas não para um quinto grupo. A consulta a seguir usando `filterIndex` ignorará a verificação do grupo de logs que não tem o campo indexado. Para cada grupo de logs indexados, ele tenta verificar somente os eventos de logs que tenham o campo indexado e também retorna somente os resultados após a criação do índice do campo.

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

Por outro lado, se você usar em `filter` vez de `filterIndex` para uma consulta dos mesmos cinco grupos de logs, a consulta tentará verificar não apenas os eventos de logs que contêm o valor nos grupos de logs indexados, mas também examinará o quinto grupo que não está indexado e examinará todos os eventos de logs desse quinto grupo de logs.

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