org.apache.lucene.search
Class TermRangeFilter

java.lang.Object
  extended by org.apache.lucene.search.Filter
      extended by org.apache.lucene.search.MultiTermQueryWrapperFilter<TermRangeQuery>
          extended by org.apache.lucene.search.TermRangeFilter

public class TermRangeFilter
extends MultiTermQueryWrapperFilter<TermRangeQuery>

A Filter that restricts search results to a range of term values in a given field.

This filter matches the documents looking for terms that fall into the supplied range according to Byte.compareTo(Byte), It is not intended for numerical ranges; use NumericRangeFilter instead.

If you construct a large number of range filters with different ranges but on the same field, FieldCacheRangeFilter may have significantly better performance.

Since:
2.9

Field Summary
 
Fields inherited from class org.apache.lucene.search.MultiTermQueryWrapperFilter
query
 
Constructor Summary
TermRangeFilter(String fieldName, BytesRef lowerTerm, BytesRef upperTerm, boolean includeLower, boolean includeUpper)
           
 
Method Summary
 BytesRef getLowerTerm()
          Returns the lower value of this range filter
 BytesRef getUpperTerm()
          Returns the upper value of this range filter
 boolean includesLower()
          Returns true if the lower endpoint is inclusive
 boolean includesUpper()
          Returns true if the upper endpoint is inclusive
static TermRangeFilter Less(String fieldName, BytesRef upperTerm)
          Constructs a filter for field fieldName matching less than or equal to upperTerm.
static TermRangeFilter More(String fieldName, BytesRef lowerTerm)
          Constructs a filter for field fieldName matching greater than or equal to lowerTerm.
static TermRangeFilter newStringRange(String field, String lowerTerm, String upperTerm, boolean includeLower, boolean includeUpper)
          Factory that creates a new TermRangeFilter using Strings for term text.
 
Methods inherited from class org.apache.lucene.search.MultiTermQueryWrapperFilter
equals, getDocIdSet, getField, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TermRangeFilter

public TermRangeFilter(String fieldName,
                       BytesRef lowerTerm,
                       BytesRef upperTerm,
                       boolean includeLower,
                       boolean includeUpper)
Parameters:
fieldName - The field this range applies to
lowerTerm - The lower bound on this range
upperTerm - The upper bound on this range
includeLower - Does this range include the lower bound?
includeUpper - Does this range include the upper bound?
Throws:
IllegalArgumentException - if both terms are null or if lowerTerm is null and includeLower is true (similar for upperTerm and includeUpper)
Method Detail

newStringRange

public static TermRangeFilter newStringRange(String field,
                                             String lowerTerm,
                                             String upperTerm,
                                             boolean includeLower,
                                             boolean includeUpper)
Factory that creates a new TermRangeFilter using Strings for term text.


Less

public static TermRangeFilter Less(String fieldName,
                                   BytesRef upperTerm)
Constructs a filter for field fieldName matching less than or equal to upperTerm.


More

public static TermRangeFilter More(String fieldName,
                                   BytesRef lowerTerm)
Constructs a filter for field fieldName matching greater than or equal to lowerTerm.


getLowerTerm

public BytesRef getLowerTerm()
Returns the lower value of this range filter


getUpperTerm

public BytesRef getUpperTerm()
Returns the upper value of this range filter


includesLower

public boolean includesLower()
Returns true if the lower endpoint is inclusive


includesUpper

public boolean includesUpper()
Returns true if the upper endpoint is inclusive



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.