繁体   English   中英

为什么在“检索和排序Solr”查询中不能出现冒号?

[英]Why can't I have a colon in a Retrieve and Rank Solr query?

如果我向检索和排名(Solr)发送自然语言查询,则如果查询包含冒号,它将返回错误。 似乎正在尝试将冒号之前的单词解释为字段名称。

有什么办法可以防止这种情况,还有其他我应该注意的字符吗?

您需要处理的字符列表位于http://www.ibm.com/watson/developercloud/doc/retrieve-rank/plugin_query_syntax.shtml-它位于页面底部“保留字符”标题下。 (这还包括如何处理它们)

这些包括:

冒号(:)
用反斜杠转义查询中的冒号。

双引号(“)
查询中的双引号转义,在字段查询中带有反斜杠。

反斜杠(\\)转义字符
用另一个反斜杠在查询中转义一个反斜杠。

您必须逃避冒号-如果您的Solr库没有为您自动做到这一点。 与其他大多数情况一样,转义使用\\ ,因此foo\\:bar应该起作用。 另一种选择是将值包装在引号中( field:"foo:bar" )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM