1

我正在使用带有 solnet 的 Solr 4.0。当过滤器名称包含包含 "(" 和 ")" 时,我遇到了过滤器问题。

例如过滤器名称是“测试(测试)Test2”。使用此类过滤器过滤时出现错误。

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

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

4

1 回答 1

2

Lucene 支持对属于查询语法一部分的特殊字符进行转义。当前列表特殊字符是

    • && || !( ) { } [ ] ^ " ~ * ? : \

要转义这些字符,请在字符前使用 \。例如,要搜索 (1+1):2,请使用以下查询:

\(1\+1\)\:2

资源 -

http://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Escaping Special Characters

于 2013-09-02T08:55:17.050 回答