Class Spans
Expert: an enumeration of span matches. Used to implement span searching. Each span represents a range of term positions within a document. Matches are enumerated in order, by increasing document number, within that by increasing start position and finally by increasing end position.
Inheritance
Inherited Members
Namespace: Lucene.Net.Search.Spans
Assembly: Lucene.Net.dll
Syntax
public abstract class Spans
Properties
| Improve this Doc View SourceDoc
Returns the document number of the current match. Initially invalid.
Declaration
public abstract int Doc { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
End
Returns the end position of the current match. Initially invalid.
Declaration
public abstract int End { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
IsPayloadAvailable
Checks if a payload can be loaded at this position.
Payloads can only be loaded once per call to MoveNext().
Declaration
public abstract bool IsPayloadAvailable { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
Start
Returns the start position of the current match. Initially invalid.
Declaration
public abstract int Start { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Methods
| Improve this Doc View SourceGetCost()
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 abstract long GetCost()
Returns
Type | Description |
---|---|
System.Int64 |
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 abstract ICollection<byte[]> GetPayload()
Returns
Type | Description |
---|---|
System.Collections.Generic.ICollection<System.Byte[]> | A ICollection{byte[]} of byte arrays containing the data of this payload,
otherwise |
Exceptions
Type | Condition |
---|---|
System.IO.IOException | if there is a low-level I/O error |
MoveNext()
Move to the next match, returning true if any such exists.
Declaration
public abstract bool MoveNext()
Returns
Type | Description |
---|---|
System.Boolean |
SkipTo(Int32)
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 abstract bool SkipTo(int target)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | target |
Returns
Type | Description |
---|---|
System.Boolean |