на самом деле вы можете реализовать свой собственный метод, подобный этому:
private String specialCharacters(String keyword) {
String [] specialChars = {"-","!","?"};
for(int i = 0; i < specialChars.length; i++ )
if(keyword.indexOf(specialChars[i]) > -1)
keyword = keyword.replace(specialChars[i], "\\"+specialChars[i]);
return keyword;
}
как вы знаете, в lucene есть специальные символы, поэтому, если вы хотите экранировать специальные символы, вставьте перед этим символом двойную обратную косую черту ...