Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class CachedFilterBuilder

    Filters are cached in an LRU Cache keyed on the contained query or filter object. Using this will speed up overall performance for repeated uses of the same expensive query/filter. The sorts of queries/filters likely to benefit from caching need not necessarily be complex - e.g. simple TermQuerys with a large DF (document frequency) can be expensive on large indexes. A good example of this might be a term query on a field with only 2 possible values - "true" or "false". In a large index, querying or filtering on this field requires reading millions of document ids from disk which can more usefully be cached as a filter bitset.

    For Queries/Filters to be cached and reused the object must implement hashcode and equals methods correctly so that duplicate queries/filters can be detected in the cache.

    The CoreParser.maxNumCachedFilters property can be used to control the size of the LRU Cache established during the construction of CoreParser instances.

    Inheritance
    System.Object
    CachedFilterBuilder
    Implements
    IFilterBuilder
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Lucene.Net.QueryParsers.Xml.Builders
    Assembly: Lucene.Net.QueryParser.dll
    Syntax
    public class CachedFilterBuilder : IFilterBuilder

    Constructors

    | Improve this Doc View Source

    CachedFilterBuilder(QueryBuilderFactory, FilterBuilderFactory, Int32)

    Declaration
    public CachedFilterBuilder(QueryBuilderFactory queryFactory, FilterBuilderFactory filterFactory, int cacheSize)
    Parameters
    Type Name Description
    QueryBuilderFactory queryFactory
    FilterBuilderFactory filterFactory
    System.Int32 cacheSize

    Methods

    | Improve this Doc View Source

    GetFilter(XmlElement)

    Declaration
    public virtual Filter GetFilter(XmlElement e)
    Parameters
    Type Name Description
    System.Xml.XmlElement e
    Returns
    Type Description
    Lucene.Net.Search.Filter

    Implements

    IFilterBuilder
    • Improve this Doc
    • View Source
    Back to top Copyright © 2021 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.