我使用lucene搜索,但是lucene有一堆特殊的字符来逃避:
- && || ! ( ) { } [ ] ^ " ~ * ? : \
我有问题逃避这些字符,因为它们太多,如果我使用String.replaceAll()方法,我将最终只有一个真正的长行代码只是为了转义字符.最好的办法是什么?谢谢!
解决方法
还有一个名为
QueryParser#escape的方法,这可能是有用的:
Returns a String where those characters that QueryParser expects to be escaped are escaped by a preceding \.