Watcher 比较条件
编辑Watcher 比较条件
编辑使用 compare
条件对 watch 有效载荷中的值执行简单比较。您可以在不启用动态脚本的情况下使用 compare
条件。
表 84. 支持的比较运算符
名称 | 描述 |
---|---|
|
当解析值等于给定值时返回 |
|
当解析值不等于给定值时返回 |
|
当解析值大于给定值时返回 |
|
当解析值大于或等于给定值时返回 |
|
当解析值小于给定值时返回 |
|
当解析值小于或等于给定值时返回 |
使用比较条件
编辑要使用 compare
条件,您需要指定要评估的执行上下文中的值、一个比较运算符以及您要比较的值。例如,如果 搜索结果中的总命中数大于或等于 5,则以下 compare
条件返回 true
比较日期和时间时,您可以使用 <{expression}>
形式的日期数学表达式。例如,如果 watch 是在过去五分钟内执行的,则以下表达式返回 true
{ "condition" : { "compare" : { "ctx.execution_time" : { "gte" : "<{now-5m}>" } } } }
您还可以通过将比较值指定为 {{path}}
形式的路径来比较执行上下文中的两个值。例如,以下条件将 ctx.payload.aggregations.status.buckets.error.doc_count
与 ctx.payload.aggregations.handled.buckets.true.doc_count
进行比较
{ "condition" : { "compare" : { "ctx.payload.aggregations.status.buckets.error.doc_count" : { "not_eq" : "{{ctx.payload.aggregations.handled.buckets.true.doc_count}}" } } } }
访问执行上下文中的值
编辑您可以使用“点表示法”来访问执行上下文中的值。通过输入加载到执行上下文中的值以 ctx.payload
为前缀。
您可以使用从零开始的数组索引来引用数组中的条目。例如,要访问 ctx.payload.hits.hits
数组的第三个元素,请使用 ctx.payload.hits.hits.2
。
名称 | 描述 |
---|---|
|
当前正在执行的 watch 的 id。 |
|
此 watch 开始执行的时间。 |
|
触发此 watch 的时间。 |
|
此 watch 应该被触发的时间。 |
|
与该 watch 关联的任何元数据。 |
|
watch 的输入加载的有效载荷数据。 |