Передача параметров в запрос
Использование значений в условии запроса, например, или в HAVING операторе, может выполняться «в строке», интегрируя значение в сам строку запроса:
POST /_sql?format=txt
{
"query": "SELECT YEAR(release_date) AS year FROM library WHERE page_count > 300 AND author = 'Frank Herbert' GROUP BY year HAVING COUNT(*) > 0"
} или это можно сделать, вытащив значения в отдельный список параметров и используя символы-заменители вопросительных знаков (?) в строке запроса:
POST /_sql?format=txt
{
"query": "SELECT YEAR(release_date) AS year FROM library WHERE page_count > ? AND author = ? GROUP BY year HAVING COUNT(*) > ?",
"params": [300, "Frank Herbert", 0]
} Рекомендуемый способ передачи значений в запрос — использование вопросительных знаков-заменителей, чтобы избежать любых попыток взлома или SQL-инъекции.
© 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/sql-rest-params.html