Class FieldValueFilter


  • public class FieldValueFilter
    extends Filter
    A Filter that accepts all documents that have one or more values in a given field. This Filter request Bits from the FieldCache and build the bits if not present.
    • Constructor Detail

      • FieldValueFilter

        public FieldValueFilter​(java.lang.String field)
        Creates a new FieldValueFilter
        Parameters:
        field - the field to filter
      • FieldValueFilter

        public FieldValueFilter​(java.lang.String field,
                                boolean negate)
        Creates a new FieldValueFilter
        Parameters:
        field - the field to filter
        negate - iff true all documents with no value in the given field are accepted.
    • Method Detail

      • field

        public java.lang.String field()
        Returns the field this filter is applied on.
        Returns:
        the field this filter is applied on.
      • negate

        public boolean negate()
        Returns true iff this filter is negated, otherwise false
        Returns:
        true iff this filter is negated, otherwise false
      • getDocIdSet

        public DocIdSet getDocIdSet​(AtomicReaderContext context,
                                    Bits acceptDocs)
                             throws java.io.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:
        context - a AtomicReaderContext instance 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 call AtomicReader.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: null should be returned if the filter doesn't accept any documents otherwise internal optimization might not apply in the case an empty DocIdSet is returned.
        Throws:
        java.io.IOException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object