Show / Hide Table of Contents

    Class Filter

    Abstract base class for restricting which documents may be returned during searching.

    Inheritance
    System.Object
    Filter
    CachingWrapperFilter
    DocTermOrdsRangeFilter
    FieldCacheRangeFilter<T>
    FieldCacheTermsFilter
    FieldValueFilter
    MultiTermQueryWrapperFilter<Q>
    QueryWrapperFilter
    Namespace: Lucene.Net.Search
    Assembly: Lucene.Net.dll
    Syntax
    public abstract class Filter : object

    Methods

    | Improve this Doc View Source

    GetDocIdSet(AtomicReaderContext, IBits)

    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.

    Declaration
    public abstract DocIdSet GetDocIdSet(AtomicReaderContext context, IBits acceptDocs)
    Parameters
    Type Name Description
    AtomicReaderContext 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 Fields on the context's reader, for example.

    IBits acceptDocs

    IBits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)

    Returns
    Type Description
    DocIdSet

    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.

    | Improve this Doc View Source

    NewAnonymous(Func<AtomicReaderContext, IBits, DocIdSet>)

    Creates a new instance with the ability to specify the body of the GetDocIdSet(AtomicReaderContext, IBits) method through the getDocIdSet parameter. Simple example:

        var filter = Filter.NewAnonymous(getDocIdSet: (context, acceptDocs) =>
        {
            if (acceptDocs == null) acceptDocs = new Bits.MatchAllBits(5);
            OpenBitSet bitset = new OpenBitSet(5);
            if (acceptDocs.Get(1)) bitset.Set(1);
            if (acceptDocs.Get(3)) bitset.Set(3);
            return new DocIdBitSet(bitset);
        });

    LUCENENET specific

    Declaration
    public static Filter NewAnonymous(Func<AtomicReaderContext, IBits, DocIdSet> getDocIdSet)
    Parameters
    Type Name Description
    Func<AtomicReaderContext, IBits, DocIdSet> getDocIdSet

    A delegate method that represents (is called by) the GetDocIdSet(AtomicReaderContext, IBits) method. It accepts a AtomicReaderContext context and a IBits acceptDocs and returns the DocIdSet for this filter.

    Returns
    Type Description
    Filter
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)