## org.apache.lucene.search
Class TermRangeFilter

    java.lang.Object
      org.apache.lucene.search.Filter
          org.apache.lucene.search.MultiTermQueryWrapperFilter<TermRangeQuery>
              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.