Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class WithinPrefixTreeFilter

    Finds docs where its indexed shape is IsWithin the query shape. It works by looking at cells outside of the query shape to ensure documents there are excluded. By default, it will examine all cells, and it's fairly slow. If you know that the indexed shapes are never comprised of multiple disjoint parts (which also means it is not multi-valued), then you can pass SpatialPrefixTree.GetDistanceForLevel(maxLevels) as the queryBuffer constructor parameter to minimally look this distance beyond the query shape's edge. Even if the indexed shapes are sometimes comprised of multiple disjoint parts, you might want to use this option with a large buffer as a faster approximation with minimal false-positives.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    Inheritance
    System.Object
    Lucene.Net.Search.Filter
    AbstractPrefixTreeFilter
    AbstractVisitingPrefixTreeFilter
    WithinPrefixTreeFilter
    Inherited Members
    AbstractVisitingPrefixTreeFilter.PrefixGridScanLevel
    AbstractPrefixTreeFilter.m_queryShape
    AbstractPrefixTreeFilter.m_fieldName
    AbstractPrefixTreeFilter.m_grid
    AbstractPrefixTreeFilter.m_detailLevel
    AbstractPrefixTreeFilter.Equals(Object)
    AbstractPrefixTreeFilter.GetHashCode()
    Filter.NewAnonymous(Func<AtomicReaderContext, IBits, DocIdSet>)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Lucene.Net.Spatial.Prefix
    Assembly: Lucene.Net.Spatial.dll
    Syntax
    public class WithinPrefixTreeFilter : AbstractVisitingPrefixTreeFilter

    Constructors

    | Improve this Doc View Source

    WithinPrefixTreeFilter(IShape, String, SpatialPrefixTree, Int32, Int32, Double)

    See AbstractVisitingPrefixTreeFilter(IShape, String, SpatialPrefixTree, Int32, Int32). queryBuffer is the (minimum) distance beyond the query shape edge where non-matching documents are looked for so they can be excluded. If -1 is used then the whole world is examined (a good default for correctness).

    Declaration
    public WithinPrefixTreeFilter(IShape queryShape, string fieldName, SpatialPrefixTree grid, int detailLevel, int prefixGridScanLevel, double queryBuffer)
    Parameters
    Type Name Description
    Spatial4n.Shapes.IShape queryShape
    System.String fieldName
    SpatialPrefixTree grid
    System.Int32 detailLevel
    System.Int32 prefixGridScanLevel
    System.Double queryBuffer

    Methods

    | Improve this Doc View Source

    BufferShape(IShape, Double)

    Returns a new shape that is larger than shape by at distErr.

    Declaration
    protected virtual IShape BufferShape(IShape shape, double distErr)
    Parameters
    Type Name Description
    Spatial4n.Shapes.IShape shape
    System.Double distErr
    Returns
    Type Description
    Spatial4n.Shapes.IShape
    | Improve this Doc View Source

    GetDocIdSet(AtomicReaderContext, IBits)

    Declaration
    public override DocIdSet GetDocIdSet(AtomicReaderContext context, IBits acceptDocs)
    Parameters
    Type Name Description
    Lucene.Net.Index.AtomicReaderContext context
    Lucene.Net.Util.IBits acceptDocs
    Returns
    Type Description
    Lucene.Net.Search.DocIdSet
    Overrides
    Lucene.Net.Search.Filter.GetDocIdSet(Lucene.Net.Index.AtomicReaderContext, Lucene.Net.Util.IBits)
    Exceptions
    Type Condition
    System.IO.IOException
    • Improve this Doc
    • View Source
    Back to top Copyright © 2022 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.