public class

NearSpansOrdered

extends Spans
java.lang.Object
   ↳ org.apache.lucene.search.spans.Spans
     ↳ org.apache.lucene.search.spans.NearSpansOrdered

Class Overview

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

Summary

Public Constructors
NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader)
NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader, boolean collectPayloads)
Public Methods
int doc()
Returns the document number of the current match.
int end()
Returns the end position of the current match.
Collection<byte[]> getPayload()
Returns the payload data for the current span.
Spans[] getSubSpans()
boolean isPayloadAvailable()
Checks if a payload can be loaded at this position.
boolean next()
Move to the next match, returning true iff any such exists.
boolean skipTo(int target)
Skips to the first match beyond the current, whose document number is greater than or equal to target.
int start()
Returns the start position of the current match.
String toString()
[Expand]
Inherited Methods
From class org.apache.lucene.search.spans.Spans
From class java.lang.Object

Public Constructors

public NearSpansOrdered (SpanNearQuery spanNearQuery, IndexReader reader)

Throws
IOException

public NearSpansOrdered (SpanNearQuery spanNearQuery, IndexReader reader, boolean collectPayloads)

Throws
IOException

Public Methods

public int doc ()

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

public int end ()

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

public Collection<byte[]> getPayload ()

Returns the payload data for the current span. This is invalid until next() is called for the first time. This method must not be called more than once after each call of next(). 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.
@lucene.experimental

Returns
  • a List of byte arrays containing the data of this payload, otherwise null if isPayloadAvailable is false
Throws
IOException

public Spans[] getSubSpans ()

public boolean isPayloadAvailable ()

Checks if a payload can be loaded at this position.

Payloads can only be loaded once per call to next().
Returns
  • true if there is a payload available at this position that can be loaded

public boolean next ()

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

Throws
IOException

public boolean skipTo (int target)

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

Returns true iff there is such a match.

Behaves as if written:

   boolean skipTo(int target) {
     do {
       if (!next())
 	     return false;
     } while (target > doc());
     return true;
   }
 
Most implementations are considerably more efficient than that.
Throws
IOException

public int start ()

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

public String toString ()