org.apache.lucene.queries

## Class TermsFilter

- java.lang.Object
- - org.apache.lucene.search.Filter
  - - org.apache.lucene.queries.TermsFilter

    public final class TermsFilter
    extends Filter

Constructs a filter for docs matching any of the terms added to this class. Unlike a RangeFilter this can be used for filtering on multiple terms that are not necessarily in a sequence. An example might be a collection of primary keys from a database query result or perhaps a choice of "category" labels picked by the end user. As a filter, this is much faster than the equivalent query (a BooleanQuery with many "should" TermQueries)

### Constructor Summary

Constructors
Constructor and Description
`TermsFilter(List<Term> terms)` Creates a new `TermsFilter` from the given list.
`TermsFilter(String field, BytesRef... terms)` Creates a new `TermsFilter` from the given `BytesRef` array for a single field.
`TermsFilter(String field, List<BytesRef> terms)` Creates a new `TermsFilter` from the given `BytesRef` list for a single field.
`TermsFilter(Term... terms)` Creates a new `TermsFilter` from the given array.

### Method Summary

Methods
`boolean` `equals(Object obj)`
`DocIdSet` `getDocIdSet(AtomicReaderContext context, Bits acceptDocs)`
`int` `hashCode()`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### TermsFilter

    public TermsFilter(List<Term> terms)

Creates a new `TermsFilter` from the given list. The list can contain duplicate terms and multiple fields.

#### TermsFilter

    public TermsFilter(String field,
               List<BytesRef> terms)

Creates a new `TermsFilter` from the given `BytesRef` list for a single field.

#### TermsFilter

    public TermsFilter(String field,
               BytesRef... terms)

Creates a new `TermsFilter` from the given `BytesRef` array for a single field.

#### TermsFilter

    public TermsFilter(Term... terms)

Creates a new `TermsFilter` from the given array. The array can contain duplicate terms and multiple fields.

### Method Detail

#### getDocIdSet

    public DocIdSet getDocIdSet(AtomicReaderContext context,
                       Bits acceptDocs)
                         throws IOException

Specified by:
  `getDocIdSet` in class `Filter`
Throws:
  `IOException`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`