0

如果我向 Retrieve and Rank (Solr) 发送自然语言查询,如果查询包含冒号,它将返回错误。它似乎试图将冒号之前的单词解释为字段名称。

有什么办法可以防止这种情况发生,我应该注意其他类似的角色吗?

4

2 回答 2

1

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

这些包括:

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

双引号 (")
在字段查询中使用反斜杠转义查询中的双引号。

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

于 2016-08-30T22:12:48.103 回答
0

您必须转义冒号 - 如果您的 Solr 库没有自动为您执行此操作。转义使用\在大多数其他情况下,foo\:bar应该工作。另一种选择可能是将值括在引号 ( field:"foo:bar") 中。

于 2016-08-30T19:10:35.870 回答