1.问题描述:使用solr页面查询时,会抛出解析异常的问题。如下图:
2.错误原因:solr对于特殊字符,无法直接查询,需要在特殊字符签进行转译,加反斜杠“\”即可。
特殊字符包括:+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /
3.延申问题:在程序代码中,如果参数包含特殊字符,则可以按照如下方法解决。
这里需要引用一个jar,lucene-queryparser
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>5.4.1</version>
</dependency>
在solr参数查询时使用QueryParser.escape(queryParams)
queryParams即为包含特殊字符的参数。
4.综上所述,可以解决关于solr特殊字符解析的问题。