是否可以节省:
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()
servlet)中使用以下内容?
String escaped = LUCENE_PATTERN.matcher(query).replaceAll(REPLACEMENT_STRING);
我现在主要关心的是增加额外的延迟(例如由于锁定)或出现错误的情况。