filterIndex - Amazon CloudWatch 日志

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

filterIndex

用于仅filterIndex返回已编入索引的数据,方法是强制查询仅扫描在查询中指定的字段上建立索引的日志组。对于在此字段上建立索引的这些日志组,它会跳过任何不包含索引字段查询中指定的字段的日志事件的日志组,从而进一步优化查询。它尝试仅扫描这些日志组中与该字段索引查询中指定的值相匹配的日志事件,从而进一步减少扫描量。有关字段索引及其创建方法的更多信息,请参阅创建字段索引以提高查询性能并减少扫描量

使用索引字段可以将实际搜索空间限制为filterIndex具有字段索引的日志组和日志事件,从而帮助您有效地查询包含数 PB 日志数据的日志组。

例如,假设您在账户IPaddress中的某些日志组中为创建了字段索引。然后,您可以创建以下查询并选择查询账户中的所有日志组,以查找包含该IPaddress字段值198.51.100.0的日志事件。

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

filterIndex命令使此查询尝试跳过所有未编入索引的IPaddress日志组。此外,在已编入索引的日志组中,查询会跳过包含IPaddress字段但未198.51.100.0被观察为该字段值的日志事件。

使用IN运算符将索引字段的结果扩展为多个值中的任意一个。以下示例查找包含值198.51.100.0IPaddress字段198.51.100.1中的日志事件。

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