如果过滤器名称在Solr中包含“(”和“)”,则过滤器不起作用

时间:2013-09-02 08:35:59

标签: solr solrnet

我正在使用solr 4.0和solnet。我遇到过滤器问题,而过滤器名称包含“(”和“)”。

例如,过滤器名称是“Test(test)Test2”。 使用此类过滤器进行过滤时出错。

错误是The remote server returned an error: (400) Bad Request

如何处理这种情况?还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

Lucene支持转义属于查询语法的特殊字符。当前列表的特殊字符是

    • &安培;&安培; || ! (){} [] ^" 〜*? :\

要逃避这些角色,请在角色前使用\。例如,要搜索(1 + 1):2,请使用查询:

\(1 \ 1 \)\:2

来源 -

http://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Escaping特殊字符