原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/condition-array-compare.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/condition-array-compare.html

Array compare conditionedit

Use array_compare to compare an array of values in the execution context to a given value. See Table 87, “Supported comparison operators” for the operators you can use.

Using an array compare conditionedit

To use the array_compare condition, you specify the array in the execution context that you want to evaluate, a 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:

{
  "condition": {
    "array_compare": {
      "ctx.payload.aggregations.top_tweeters.buckets" : { 
        "path": "doc_count", 
        "gte": { 
          "value": 25 
        }
      }
    }
  }
}

The path to the array in the execution context that you want to evaluate, specified in dot notation.

The path to the field in each array element that you want to evaluate.

The comparison operator to use.

The comparison value. Supports date math like the compare condition.

When using fieldnames that contain a dot this condition will not work, use a script condition instead.

Array-compare condition attributesedit

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.