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

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

Используйте array_compare для сравнения массива значений в контексте выполнения с заданным значением. См. Таблицу 84 для доступных операторов.

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

Чтобы использовать условие 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/8.17/condition-array-compare.html

Spec-Zone.ru

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