Package org.apache.lucene.queries
Class TermsFilter
java.lang.Object
org.apache.lucene.search.Filter
org.apache.lucene.queries.TermsFilter
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
ConstructorsConstructorDescriptionTermsFilter(String field, List<BytesRef> terms) Creates a newTermsFilterfrom the givenBytesReflist for a single field.TermsFilter(String field, BytesRef... terms) Creates a newTermsFilterfrom the givenBytesRefarray for a single field.TermsFilter(List<Term> terms) Creates a newTermsFilterfrom the given list.TermsFilter(Term... terms) Creates a newTermsFilterfrom the given array. -
Method Summary
Modifier and TypeMethodDescriptionbooleangetDocIdSet(AtomicReaderContext context, Bits acceptDocs) Creates aDocIdSetenumerating the documents that should be permitted in search results.inthashCode()toString()
-
Constructor Details
-
TermsFilter
Creates a newTermsFilterfrom the given list. The list can contain duplicate terms and multiple fields. -
TermsFilter
Creates a newTermsFilterfrom the givenBytesReflist for a single field. -
TermsFilter
Creates a newTermsFilterfrom the givenBytesRefarray for a single field. -
TermsFilter
Creates a newTermsFilterfrom the given array. The array can contain duplicate terms and multiple fields.
-
-
Method Details
-
getDocIdSet
Description copied from class:FilterCreates aDocIdSetenumerating the documents that should be permitted in search results. NOTE: null can be returned if no documents are accepted by this Filter.Note: This method will be called once per segment in the index during searching. The returned
DocIdSetmust refer to document IDs for that segment, not for the top-level reader.- Specified by:
getDocIdSetin classFilter- Parameters:
context- aAtomicReaderContextinstance opened on the index currently searched on. Note, it is likely that the provided reader info does not represent the whole underlying index i.e. if the index has more than one segment the given reader only represents a single segment. The provided context is always an atomic context, so you can callAtomicReader.fields()on the context's reader, for example.acceptDocs- Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)- Returns:
- a DocIdSet that provides the documents which should be permitted or
prohibited in search results. NOTE:
nullshould be returned if the filter doesn't accept any documents otherwise internal optimization might not apply in the case an emptyDocIdSetis returned. - Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
toString
-