filter = filterCache.fetchPreFilter(table, filterStr);
}
if (filter != null) {
return filter;
}
filter = new QueryWrapperFilter(new SuperParser(LUCENE_VERSION, fieldManager, superQueryOn, null,
ScoreType.CONSTANT, tableContext.getDefaultPrimeDocTerm()).parse(filterStr));
if (superQueryOn) {
filter = filterCache.storePostFilter(table, filterStr, filter, new BlurFilterCache.FilterParser() {
@Override
public Query parse(String query) throws ParseException {
return new SuperParser(LUCENE_VERSION, fieldManager, true, null, ScoreType.CONSTANT, tableContext
.getDefaultPrimeDocTerm()).parse(query);
}
});
} else {
filter = filterCache.storePreFilter(table, filterStr, filter, new BlurFilterCache.FilterParser() {
@Override
public Query parse(String query) throws ParseException {
return new SuperParser(LUCENE_VERSION, fieldManager, false, null, ScoreType.CONSTANT, tableContext
.getDefaultPrimeDocTerm()).parse(query);
}
});
}
return filter;