Watcher compare condition
Use the compare condition to perform a simple comparison against a value in the watch payload. You can use the compare condition without enabling dynamic scripting.
Table 77. Supported comparison operators
| Name | Description |
|---|---|
| Returns |
| Returns |
| Returns |
| Returns |
| Returns |
| Returns |
Using a compare condition
To use the compare condition, you specify the value in the execution context that you want to evaluate, a comparison operator, and the value you want to compare against. For example, the following compare condition returns true if the number of the total hits in the search result is greater than or equal to 5:
{
"condition" : {
"compare" : {
"ctx.payload.hits.total" : {
"gte" : 5
}
}
}
} | Use dot notation to reference a value in the execution context. | |
| Specify a comparison operator and the value you want to compare against. |
When comparing dates and times, you can use date math expressions of the form <{expression}>. For example, the following expression returns true if the watch was executed within the last five minutes:
{
"condition" : {
"compare" : {
"ctx.execution_time" : {
"gte" : "<{now-5m}>"
}
}
}
} You can also compare two values in the execution context by specifying the compared value as a path of the form of {{path}}. For example, the following condition compares the ctx.payload.aggregations.status.buckets.error.doc_count to the 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}}"
}
}
}
} Accessing values in the execution context
You use "dot-notation" to access values in the execution context. Values loaded into the execution context by the input are prefixed by ctx.payload.
You can reference entries in arrays using their zero-based array indices. For example, to access the third element of the ctx.payload.hits.hits array, use ctx.payload.hits.hits.2.
| Name | Description |
|---|---|
| The id of the watch that is currently executing. |
| The time execution of this watch started. |
| The time this watch was triggered. |
| The time this watch was supposed to be triggered. |
| Any metadata associated with the watch. |
| The payload data loaded by the watch’s input. |
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/condition-compare.html