持っていると助かりますか:
private static final String LUCENE_ESCAPE_CHARS = "[\\\\+\\-\\!\\(\\)\\:\\^\\]\\{\\}\\~\\*\\?]";
private static final Pattern LUCENE_PATTERN = Pattern.compile(LUCENE_ESCAPE_CHARS);
private static final String REPLACEMENT_STRING = "\\\\$0";
doGet()
また、サーブレットのようなマルチスレッド環境で以下を利用しますか?
String escaped = LUCENE_PATTERN.matcher(query).replaceAll(REPLACEMENT_STRING);
私の主な関心事は、追加の遅延 (ロックなどによる) を追加するか、バグが発生する状況になることです。