Class TermsFilter

  • All Implemented Interfaces:
    Serializable

    public 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)
    See Also:
    Serialized Form
    • Constructor Detail

      • TermsFilter

        public TermsFilter()
    • Method Detail

      • addTerm

        public void addTerm​(Term term)
        Adds a term to the list of acceptable terms
        Parameters:
        term -
      • getDocIdSet

        public DocIdSet getDocIdSet​(IndexReader reader)
                             throws IOException
        Description copied from class: Filter
        Creates a DocIdSet enumerating 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 DocIdSet must refer to document IDs for that segment, not for the top-level reader.

        Specified by:
        getDocIdSet in class Filter
        Parameters:
        reader - a IndexReader instance opened on the index currently searched on. Note, it is likely that the provided reader 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.
        Returns:
        a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: null can be returned if no documents will be accepted by this Filter.
        Throws:
        IOException
        See Also:
        DocIdBitSet
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object