Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class NearSpansOrdered

    A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them.

    The formed spans only contains minimum slop matches.

    The matching slop is computed from the distance(s) between the non overlapping matching Spans.

    Successive matches are always formed from the successive Spans of the SpanNearQuery.

    The formed spans may contain overlaps when the slop is at least 1. For example, when querying using t1 t2 t3 with slop at least 1, the fragment: t1 t2 t1 t3 t2 t3 matches twice: t1 t2 .. t3 t1 .. t2 t3

    Expert: Only public for subclassing. Most implementations should not need this class
    Inheritance
    object
    Spans
    NearSpansOrdered
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Lucene.Net.Search.Spans
    Assembly: Lucene.Net.dll
    Syntax
    public class NearSpansOrdered : Spans

    Constructors

    NearSpansOrdered(SpanNearQuery, AtomicReaderContext, IBits, IDictionary<Term, TermContext>)

    A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them.

    The formed spans only contains minimum slop matches.

    The matching slop is computed from the distance(s) between the non overlapping matching Spans.

    Successive matches are always formed from the successive Spans of the SpanNearQuery.

    The formed spans may contain overlaps when the slop is at least 1. For example, when querying using t1 t2 t3 with slop at least 1, the fragment: t1 t2 t1 t3 t2 t3 matches twice: t1 t2 .. t3 t1 .. t2 t3

    Expert: Only public for subclassing. Most implementations should not need this class
    Declaration
    public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, IBits acceptDocs, IDictionary<Term, TermContext> termContexts)
    Parameters
    Type Name Description
    SpanNearQuery spanNearQuery
    AtomicReaderContext context
    IBits acceptDocs
    IDictionary<Term, TermContext> termContexts

    NearSpansOrdered(SpanNearQuery, AtomicReaderContext, IBits, IDictionary<Term, TermContext>, bool)

    A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them.

    The formed spans only contains minimum slop matches.

    The matching slop is computed from the distance(s) between the non overlapping matching Spans.

    Successive matches are always formed from the successive Spans of the SpanNearQuery.

    The formed spans may contain overlaps when the slop is at least 1. For example, when querying using t1 t2 t3 with slop at least 1, the fragment: t1 t2 t1 t3 t2 t3 matches twice: t1 t2 .. t3 t1 .. t2 t3

    Expert: Only public for subclassing. Most implementations should not need this class
    Declaration
    public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, IBits acceptDocs, IDictionary<Term, TermContext> termContexts, bool collectPayloads)
    Parameters
    Type Name Description
    SpanNearQuery spanNearQuery
    AtomicReaderContext context
    IBits acceptDocs
    IDictionary<Term, TermContext> termContexts
    bool collectPayloads

    Properties

    Doc

    Returns the document number of the current match. Initially invalid.

    Declaration
    public override int Doc { get; }
    Property Value
    Type Description
    int
    Overrides
    Spans.Doc

    End

    Returns the end position of the current match. Initially invalid.

    Declaration
    public override int End { get; }
    Property Value
    Type Description
    int
    Overrides
    Spans.End

    IsPayloadAvailable

    Checks if a payload can be loaded at this position.

    Payloads can only be loaded once per call to MoveNext().
    Declaration
    public override bool IsPayloadAvailable { get; }
    Property Value
    Type Description
    bool

    true if there is a payload available at this position that can be loaded

    Overrides
    Spans.IsPayloadAvailable

    Start

    Returns the start position of the current match. Initially invalid.

    Declaration
    public override int Start { get; }
    Property Value
    Type Description
    int
    Overrides
    Spans.Start

    SubSpans

    A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them.

    The formed spans only contains minimum slop matches.

    The matching slop is computed from the distance(s) between the non overlapping matching Spans.

    Successive matches are always formed from the successive Spans of the SpanNearQuery.

    The formed spans may contain overlaps when the slop is at least 1. For example, when querying using t1 t2 t3 with slop at least 1, the fragment: t1 t2 t1 t3 t2 t3 matches twice: t1 t2 .. t3 t1 .. t2 t3

    Expert: Only public for subclassing. Most implementations should not need this class
    Declaration
    public virtual Spans[] SubSpans { get; }
    Property Value
    Type Description
    Spans[]

    Methods

    GetCost()

    Returns the estimated cost of this spans.

    This is generally an upper bound of the number of documents this iterator might match, but may be a rough heuristic, hardcoded value, or otherwise completely inaccurate.
    Declaration
    public override long GetCost()
    Returns
    Type Description
    long
    Overrides
    Spans.GetCost()

    GetPayload()

    Returns the payload data for the current span. this is invalid until MoveNext() is called for the first time. This method must not be called more than once after each call of MoveNext(). However, most payloads are loaded lazily, so if the payload data for the current position is not needed, this method may not be called at all for performance reasons. An ordered SpanQuery does not lazy load, so if you have payloads in your index and you do not want ordered SpanNearQuerys to collect payloads, you can disable collection with a constructor option.

    Note that the return type is a collection, thus the ordering should not be relied upon.

    Note

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

    Declaration
    public override ICollection<byte[]> GetPayload()
    Returns
    Type Description
    ICollection<byte[]>

    A ICollection{byte[]} of byte arrays containing the data of this payload, otherwise null if IsPayloadAvailable is false

    Overrides
    Spans.GetPayload()
    Exceptions
    Type Condition
    IOException

    if there is a low-level I/O error

    MoveNext()

    Move to the next match, returning true iff any such exists.

    Declaration
    public override bool MoveNext()
    Returns
    Type Description
    bool
    Overrides
    Spans.MoveNext()

    SkipTo(int)

    Skips to the first match beyond the current, whose document number is greater than or equal to target.

    The behavior of this method is undefined when called with target <= current, or after the iterator has exhausted. Both cases may result in unpredicted behavior.

    Returns true if there is such a match.

    Behaves as if written:
    bool SkipTo(int target) 
    {
        do 
        {
            if (!Next())
                return false;
        } while (target > Doc);
        return true;
    }
    Most implementations are considerably more efficient than that.
    Declaration
    public override bool SkipTo(int target)
    Parameters
    Type Name Description
    int target
    Returns
    Type Description
    bool
    Overrides
    Spans.SkipTo(int)

    ToString()

    Returns a string that represents the current object.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    A string that represents the current object.

    Overrides
    object.ToString()
    Back to top Copyright © 2024 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.