无法通过 Solr JDBC 查询名称中带有短划线的集合

  • 本文关键字:集合 Solr JDBC 查询 solr
  • 更新时间 :
  • 英文 :


我们在查询名称包含破折号的集合时遇到问题。

例如:

SELECT id FROM collection-with-dashes

返回以下错误消息(我将集合名称替换为 [集合],将服务器 URL 替换为 [服务器](:

SQL Error: java.sql.SQLException: java.io.IOException: --> http://[server]:8983/solr/[collection]_shard1_replica1/:Failed to execute sqlQuery 'select * from [collection] limit 200' against JDBC connection 'jdbc:calcitesolr:'.
Error while executing SQL "select * from [collection] limit 200": parse failed: Encountered "-" at line 1, column 21.
Was expecting one of:
<EOF> 
"ORDER" ...
"LIMIT" ...
"OFFSET" ...
"FETCH" ...
"NATURAL" ...
"JOIN" ...
"INNER" ...
"LEFT" ...
"RIGHT" ...
"FULL" ...
"CROSS" ...
"," ...
"OUTER" ...
"EXTEND" ...
"(" ...
"." ...
"AS" ...
<IDENTIFIER> ...
<QUOTED_IDENTIFIER> ...
<BACK_QUOTED_IDENTIFIER> ...
<BRACKET_QUOTED_IDENTIFIER> ...
<UNICODE_QUOTED_IDENTIFIER> ...
"TABLESAMPLE" ...
"WHERE" ...
"GROUP" ...
"HAVING" ...
"WINDOW" ...
"UNION" ...
"INTERSECT" ...
"EXCEPT" ...
"MINUS" ...

我们尝试在方括号、单引号和双引号之间编写集合名称,但都不起作用。

Thenks, MatsLindh. 这工作正常。

使用反引号它起作用了:

SELECT id FROM `collection-with-dashes`

最新更新