has_all 运算符

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

筛选记录集中具有一个或多个不区分大小写的搜索字符串的数据。 has_all 搜索关键词,一个索引包含三个或三个以上字符。 如果字少于三个字符,则查询会扫描列中的值,这比在字索引中查找字要慢。

有关其他运算符的详细信息以及确定哪个运算符最适合你的查询,请参阅数据类型字符串运算符

语法

T | where col has_all (expression, ... )

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string ✔️ 要筛选的表格输入。
col string ✔️ 进行筛选所依据的列。
expression 标量或表格 ✔️ 一个表达式,用于指定要搜索的值。 每个表达式都可以是一个标量值或一个生成一组值的表格表达式。 如果表格表达式包含多个列,则会使用第一个列。 搜索将考虑最多 256 个非重复值。

返回

其谓词为 true 的 T 中的行。

示例

标量集

以下查询显示如何将 has_all 与逗号分隔的标量值集合一起使用。

StormEvents 
| where EpisodeNarrative has_all ("cold", "strong", "afternoon", "hail")
| summarize Count=count() by EventType
| top 3 by Count

输出

EventType 计数
雷雨大风 517
冰雹 392
山洪 24

动态数组

可以使用动态数组表示法来实现相同的结果。

StormEvents 
| where EpisodeNarrative has_all (dynamic(["cold", "strong", "afternoon", "hail"]))
| summarize Count=count() by EventType
| top 3 by Count

输出

EventType 计数
雷雨大风 517
冰雹 392
山洪 24

也可以使用 let 语句编写相同的查询。

let criteria = dynamic(["cold", "strong", "afternoon", "hail"]);
StormEvents 
| where EpisodeNarrative has_all (criteria)
| summarize Count=count() by EventType
| top 3 by Count
EventType 计数
雷雨大风 517
冰雹 392
山洪 24