Последнее обновление
ESQUERY
Описание
Используйте функцию ESQUERY(<field>, <query_dsl>), чтобы передавать в Elasticsearch для фильтрации запросы, которые нельзя выразить на SQL. Первый параметр, <field>, используется для связывания индексов, а второй параметр, <query_dsl>, представляет собой JSON-выражение базового Elasticsearch Query DSL. JSON должен быть заключён в фигурные скобки {} и содержать ровно один корневой ключ (например, match_phrase, geo_shape, bool).
Синтаксис
ESQUERY(<field>, <query_dsl>)
Параметры
| Параметр | Описание |
|---|---|
<field> | Поле, по которому выполняется запрос; используется для связывания индексов. |
<query_dsl> | JSON-выражение, представляющее Elasticsearch Query DSL. Оно должно быть заключено в {} и содержать ровно один корневой ключ (например, match_phrase, geo_shape, bool). |
Возвращаемое значение
Возвращает булево значение, указывающее, соответствует ли документ заданному запросу на языке Elasticsearch Query DSL.
Примеры
-- match_phrase SQL:
SELECT * FROM es_table
WHERE ESQUERY(k4, '{
"match_phrase": {
"k4": "doris on es"
}
}');
-- geo_shape SQL:
SELECT * FROM es_table
WHERE ESQUERY(k4, '{
"geo_shape": {
"location": {
"shape": {
"type": "envelope",
"coordinates": [
[13, 53],
[14, 52]
]
},
"relation": "within"
}
}
}');