Таблица 1 Параметры задачи, когда в качестве источника используется Elasticsearch или CSS
Категория
Параметр
Описание
Пример значения
Базовые параметры
Индекс
Индекс Elasticsearch, который похож на имя реляционной базы данных. Имя индекса может содержать только строчные буквы.
индекс
Тип
Тип Elasticsearch, который аналогичен имени таблицы реляционной базы данных. Имя типа может содержать только строчные буквы.
NOTE:
Elasticsearch 7.x и более поздние версии не поддерживают пользовательские типы. Вместо этого только _doc type можно использовать. В этом случае этот параметр не действует, даже если он установлен.
_doc
Расширенные атрибуты
Разделить вложенное поле
(Optional) Разделять ли JSON‑содержимое вложенных полей. Например, a:{ b:{ c:1, d:{ e:2, f:3 } } } может быть разделено на a.b.c, a.b.d.e, и a.b.d.f.
Нет
Условия фильтрации
(Optional) CDM переносит только данные, которые соответствуют условиям фильтра.
В настоящее время только строка запроса (q syntax) Elasticsearch может использоваться для фильтрации исходных данных. q syntax используется следующим образом:
При точном совпадении, столбец:данные формат используется для сопоставления и фильтрации данных. столбец указывает имя поля, и данные указывает условие запроса, например, last_name:Smith.
Кроме того, если данные является строкой, содержащей пробелы, её необходимо заключить в двойные кавычки. Если столбец не указана, все поля будут сопоставлены с помощью данные.
Несколько условий запросов могут быть объединены с помощью связующих слов. Формат: column1:данные1 ANDcolumn2:data2. Связующие слова могут быть AND, OR, или NOT. Они должны быть в верхнем регистре, и перед и после каждого связующего слова должен быть пробел.
Пример: first_name:Alec AND last_name:John
При сопоставлении диапазонов вы можете напрямую использовать условное выражение для фильтрации данных. Выражение находится в столбце:>данных формате. Оператор может быть >, >=, <, или <=.
Пример time:>=1636905600000 AND time:<1637078400000. Его также можно использовать вместе с макропеременной даты и времени, например, createTime:>=${timestamp(dateformat(yyyyMMdd,-1,DAY))} AND createTime:< ${timestamp(dateformat(yyyyMMdd))}.
При сопоставлении диапазонов вы также можете использовать синтаксис диапазона для фильтрации данных. Формат колонка:{данные1 TO data2}. { и } указывает, что значение не включено. [ и ] указывает, что значение включено. TO должен быть записан заглавными буквами, и перед ним и после него должно быть пробел. * указывает на все данные.
Например, time:{1636992000000 TO *] отфильтровывает все данные, превышающие 1636992000000 в время поле. Его также можно использовать вместе с макропеременной даты и времени, например, createTime:[${timestamp(dateformat(yyyyMMdd,-1,DAY))} TO ${timestamp(dateformat(yyyyMMdd))}}.
Исходные данные нельзя отфильтровать с помощью языка запросов (DSL) Elasticsearch.
last_name:Smith
Извлечь Meta-field
Указывает, следует ли извлекать meta‑поля индекса. Например, _index, _type, _id и _score.
Да
Размер страницы
Размер страницы Elasticsearch
1000
ScrollId Time Out
Во время scroll‑запроса с использованием Elasticsearch, a scroll_id записывается. Когда запрос истекает или завершён, записанный srcoll_id будет очищено. Вы можете установить этот параметр, чтобы указать продолжительность тайм‑аута.