Example usage for org.apache.lucene.search BooleanQuery rewrite

List of usage examples for org.apache.lucene.search BooleanQuery rewrite

Introduction

In this page you can find the example usage for org.apache.lucene.search BooleanQuery rewrite.

Prototype

@Override
    public Query rewrite(IndexReader reader) throws IOException 

Source Link

Usage

From source file:org.exoplatform.services.jcr.impl.core.query.lucene.NameRangeQuery.java

License:Apache License

/**
 * {@inheritDoc}/*  w w w  . j  a  v a2  s .  c  o  m*/
 */
public Query rewrite(IndexReader reader) throws IOException {
    if (version.getVersion() >= IndexFormatVersion.V3.getVersion()) {
        RangeQuery localNames = new RangeQuery(getLowerLocalNameTerm(), getUpperLocalNameTerm(), inclusive);
        BooleanQuery query = new BooleanQuery();
        query.add(new JcrTermQuery(new Term(FieldNames.NAMESPACE_URI, getNamespaceURI())),
                BooleanClause.Occur.MUST);
        query.add(localNames, BooleanClause.Occur.MUST);
        return query.rewrite(reader);
    } else {
        return new RangeQuery(getLowerTerm(), getUpperTerm(), inclusive).rewrite(reader);
    }
}