66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
|
[[condition-array-compare]]
|
||
|
=== Array Compare Condition
|
||
|
|
||
|
Use `array_compare` to compare an array of values in the execution context to a
|
||
|
given value. See <<condition-compare-operators, Supported Comparison Operators>>
|
||
|
for the operators you can use.
|
||
|
|
||
|
|
||
|
|
||
|
==== Using an Array Compare Condition
|
||
|
|
||
|
To use the `array_compare` condition, you specify the array in the execution
|
||
|
context that you want to evaluate, a <<condition-compare-operators,comparison
|
||
|
operator>>, and the value you want to compare against. Optionally, you
|
||
|
can specify the path to the field in each array element that you want to
|
||
|
evaluate.
|
||
|
|
||
|
For example, the following `array_compare` condition returns `true` if there
|
||
|
is at least one bucket in the aggregation that has a `doc_count` greater
|
||
|
than or equal to 25:
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
{
|
||
|
"condition": {
|
||
|
"array_compare": {
|
||
|
"ctx.payload.aggregations.top_tweeters.buckets" : { <1>
|
||
|
"path": "doc_count" <2>,
|
||
|
"gte": { <3>
|
||
|
"value": 25, <4>
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
<1> The path to the array in the execution
|
||
|
context that you want to evaluate, specified in dot notation.
|
||
|
<2> The path to the field in each array element that you want to evaluate.
|
||
|
<3> The <<condition-compare-operators, comparison operator>> to use.
|
||
|
<4> The comparison value. Supports date math like the
|
||
|
<<compare-condition-date-math, compare condition>>.
|
||
|
|
||
|
==== Array-Compare Condition Attributes
|
||
|
|
||
|
[options="header"]
|
||
|
|======
|
||
|
| Name | Description
|
||
|
|`<array path>` | The path to the array in the execution
|
||
|
context, specified in dot notation.
|
||
|
For example, `ctx.payload.aggregations.top_tweeters.buckets`.
|
||
|
| `<array path>.path` | The path to the field in each array element
|
||
|
that you want to evaluate. For example,
|
||
|
`doc_count`. Defaults to an empty string.
|
||
|
| `<array path>.<operator>.quantifier` | How many matches are required for the
|
||
|
comparison to evaluate to `true`: `some`
|
||
|
or `all`. Defaults to `some`--there must
|
||
|
be at least one match. If the array is
|
||
|
empty, the comparison evaluates to `true`
|
||
|
if the quantifier is set to `all` and
|
||
|
`false` if the quantifier is set to
|
||
|
`some`.
|
||
|
| `<array path>.<operator>.value` | The value to compare against.
|
||
|
|
||
|
|======
|