如何解决ElasticSearch:Opendistro SQL:由于冒犯符号[.11],无法解析查询
我有一个ElasticSearch索引,该索引的名称为.
(例如:my_index-2020.11.06-001
)。当我使用sql获取所有文档的count
时,出现以下错误
curl --location --request POST '127.0.0.1:9200/_opendistro/_sql'
--header 'Content-Type: application/json'
--data-raw '{
"query": "SELECT count(*) FROM my_index-2020.11.06-001"
}'
Failed to parse query due to offending symbol [.11] at: 'SELECT count(*) FROM my_index-2020.11.06-001 ...
我也尝试在索引名称中使用反引号(`)和单引号('),但这都无济于事
curl --location --request POST '127.0.0.1:9200/_opendistro/_sql'
--header 'Content-Type: application/json'
--data-raw '{
"query": "SELECT count(*) FROM `my_index-2020.11.06-001`"
}'
{
"error": {
"reason": "Invalid sql query","details": "Field [my_index-2020.11.06-001] cannot be found or used here.","type": "SemanticAnalysisException"
...
解决方法
这是一个错误,但有一个解决方法 禁用语义分析器
curl --location --request PUT 'http://localhost:9200/_cluster/settings' \
--header 'Content-Type: application/json' \
--data-raw '{
"transient": {
"opendistro.sql.query.analysis.enabled": "false"
}
}'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。