public class NearSpansOrdered extends Spans
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 t3with slop at least 1, the fragment:
t1 t2 t1 t3 t2 t3matches twice:
t1 t2 .. t3
t1 .. t2 t3Expert: Only public for subclassing. Most implementations should not need this class
Constructor and Description |
---|
NearSpansOrdered(SpanNearQuery spanNearQuery,
AtomicReaderContext context,
Bits acceptDocs,
Map<Term,TermContext> termContexts) |
NearSpansOrdered(SpanNearQuery spanNearQuery,
AtomicReaderContext context,
Bits acceptDocs,
Map<Term,TermContext> termContexts,
boolean collectPayloads) |
Modifier and Type | Method and Description |
---|---|
long |
cost()
Returns the estimated cost of this spans.
|
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() |
public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, Bits acceptDocs, Map<Term,TermContext> termContexts) throws IOException
IOException
public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, Bits acceptDocs, Map<Term,TermContext> termContexts, boolean collectPayloads) throws IOException
IOException
public int doc()
Spans
public int start()
Spans
public int end()
Spans
public Spans[] getSubSpans()
public Collection<byte[]> getPayload() throws IOException
Spans
Spans.next()
is called for
the first time.
This method must not be called more than once after each call
of Spans.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.getPayload
in class Spans
IOException
- if there is a low-level I/O errorpublic boolean isPayloadAvailable()
Spans
Spans.next()
.isPayloadAvailable
in class Spans
public long cost()
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.
public boolean next() throws IOException
Spans
next
in class Spans
IOException
public boolean skipTo(int target) throws IOException
Spans
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 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.
skipTo
in class Spans
IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.