Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Watcher ›Условия Watcher

Условие сравнения массива Watcher

Используйте array_compare для сравнения массива значений в контексте выполнения с заданным значением. См. Таблицу 77, «Поддерживаемые операторы сравнения» для операторов, которые можно использовать.

Использование условия сравнения массива

Для использования условия array_compare укажите массив в контексте выполнения, который требуется оценить, оператор сравнения и значение, с которым требуется сравнить. Дополнительно можно указать путь к полю в каждом элементе массива, который требуется оценить.

Например, следующее условие array_compare возвращает true, если в агрегации есть хотя бы один бакет, у которого значение doc_count больше или равно 25:

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

Путь к массиву в контексте выполнения, который требуется оценить, указанный в точечной нотации.

Путь к полю в каждом элементе массива, который требуется оценить.

Оператор сравнения, который требуется использовать.

Значение для сравнения. Поддерживает математические выражения для дат, как в условии сравнения.

При использовании имён полей, содержащих точку, данное условие не будет работать. Используйте условие сценария вместо этого.

Атрибуты условия сравнения массивов

Имя Описание

<array path>

Путь к массиву в контексте выполнения, заданный в точечной нотации. Например, ctx.payload.aggregations.top_tweeters.buckets.

<array path>.path

Путь к полю в каждом элементе массива, который требуется оценить. Например, doc_count. По умолчанию — пустая строка.

<array path>.<operator>.quantifier

Количество совпадений, необходимых для того, чтобы сравнение оценивалось как true: some или all. По умолчанию — some — должно быть хотя бы одно совпадение. Если массив пустой, сравнение оценивается как true, если квантификатор установлен на all, и false, если квантификатор установлен на some.

<array path>.<operator>.value

Значение для сравнения.

© 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-array-compare.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API