List of usage examples for org.apache.lucene.analysis.reverse ReverseStringFilter reverse
public static void reverse(final char[] buffer)
From source file:org.apache.solr.search.SolrComplexPhraseQueryParser.java
License:Apache License
protected Query getWildcardQuery(String field, String termStr) throws ParseException { // *:* -> MatchAllDocsQuery if ("*".equals(field) && "*".equals(termStr)) { return newMatchAllDocsQuery(); }/*from w w w. j ava 2s . co m*/ // can we use reversed wildcards in this field? String type = schema.getFieldType(field).getTypeName(); ReversedWildcardFilterFactory factory = leadingWildcards.get(type); if (factory != null && factory.shouldReverse(termStr)) { termStr = ReverseStringFilter.reverse(termStr + factory.getMarkerChar()); } Query q = super.getWildcardQuery(field, termStr); if (q instanceof WildcardQuery) { // use a constant score query to avoid overflowing clauses WildcardQuery wildcardQuery = new WildcardQuery(((WildcardQuery) q).getTerm()); wildcardQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE); return wildcardQuery; } return q; }