Show / Hide Table of Contents

    Class FieldCacheSanityChecker

    Provides methods for sanity checking that entries in the FieldCache are not wasteful or inconsistent.

    Lucene 2.9 Introduced numerous enhancements into how the FieldCache is used by the low levels of Lucene searching (for Sorting and ValueSourceQueries) to improve both the speed for Sorting, as well as reopening of IndexReaders. But these changes have shifted the usage of FieldCache from "top level" IndexReaders (frequently a MultiReader or DirectoryReader) down to the leaf level SegmentReaders. As a result, existing applications that directly access the FieldCache may find RAM usage increase significantly when upgrading to 2.9 or Later. This class provides an API for these applications (or their Unit tests) to check at run time if the FieldCache contains "insane" usages of the FieldCache.

    @lucene.experimental

    Inheritance
    System.Object
    FieldCacheSanityChecker
    Namespace: Lucene.Net.Util
    Assembly: Lucene.Net.dll
    Syntax
    public sealed class FieldCacheSanityChecker : object

    Constructors

    | Improve this Doc View Source

    FieldCacheSanityChecker()

    Declaration
    public FieldCacheSanityChecker()
    | Improve this Doc View Source

    FieldCacheSanityChecker(Boolean)

    Declaration
    public FieldCacheSanityChecker(bool estimateRam)
    Parameters
    Type Name Description
    System.Boolean estimateRam

    If set, estimate size for all FieldCache.CacheEntry objects will be calculated.

    Methods

    | Improve this Doc View Source

    Check(FieldCache.CacheEntry[])

    Tests a CacheEntry[] for indication of "insane" cache usage.

    NOTE:FieldCache CreationPlaceholder objects are ignored. (:TODO: is this a bad idea? are we masking a real problem?)

    Declaration
    public FieldCacheSanityChecker.Insanity[] Check(params FieldCache.CacheEntry[] cacheEntries)
    Parameters
    Type Name Description
    FieldCache.CacheEntry[] cacheEntries
    Returns
    Type Description
    FieldCacheSanityChecker.Insanity[]
    | Improve this Doc View Source

    CheckSanity(FieldCache.CacheEntry[])

    Quick and dirty convenience method that instantiates an instance with "good defaults" and uses it to test the FieldCache.CacheEntrys

    Declaration
    public static FieldCacheSanityChecker.Insanity[] CheckSanity(params FieldCache.CacheEntry[] cacheEntries)
    Parameters
    Type Name Description
    FieldCache.CacheEntry[] cacheEntries
    Returns
    Type Description
    FieldCacheSanityChecker.Insanity[]
    See Also
    Check(FieldCache.CacheEntry[])
    | Improve this Doc View Source

    CheckSanity(IFieldCache)

    Quick and dirty convenience method

    Declaration
    public static FieldCacheSanityChecker.Insanity[] CheckSanity(IFieldCache cache)
    Parameters
    Type Name Description
    IFieldCache cache
    Returns
    Type Description
    FieldCacheSanityChecker.Insanity[]
    See Also
    Check(FieldCache.CacheEntry[])

    See Also

    IFieldCache
    FieldCacheSanityChecker.Insanity
    FieldCacheSanityChecker.InsanityType
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)