无法在Kibana中的Logstash索引上执行SQL搜索

时间:2019-03-17 09:28:26

标签: elasticsearch elasticsearch-x-pack xpack elasticsearch-sql

用下面的查询搜索时,我在kibana中有下面的索引。

GET /_xpack/sql?format=txt
{
    "query": "SHOW tables"
}

输出:

              name               |     type      
---------------------------------+---------------
.kibana                          |ALIAS          
.kibana_1                        |BASE TABLE     
.monitoring-es-6-2019.03.17      |BASE TABLE     
.monitoring-kibana-6-2019.03.17  |BASE TABLE     
.monitoring-logstash-6-2019.03.17|BASE TABLE     
bank                             |BASE TABLE     
logstash-2015.05.18              |BASE TABLE     
logstash-2015.05.19              |BASE TABLE     
logstash-2015.05.20              |BASE TABLE     

尝试搜索logstash表时,出现以下错误。

GET _xpack/sql?format=txt
{
  "query": "select * from logstash-2015.05.18"
}

错误输出

{
  "error": {
    "root_cause": [
      {
        "type": "parsing_exception",
        "reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}"
      }
    ],
    "type": "parsing_exception",
    "reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}",
    "caused_by": {
      "type": "input_mismatch_exception",
      "reason": null
    }
  },
  "status": 400
}

请您告知我们如何在这种Senario中选择查询。

关于, 灵气。

1 个答案:

答案 0 :(得分:0)

只需使用双引号即可转义。下面的查询应该可以解决问题。

POST _xpack/sql?format=txt
{
    "query": "select * from \"logstash-2015.05.18\""
}

希望有帮助!