org.apache.lucene.search.spans

## Class Spans

- java.lang.Object
- - org.apache.lucene.search.spans.Spans

- Direct Known Subclasses:
    NearSpansOrdered, NearSpansUnordered, TermSpans

      public abstract class Spans
      extends java.lang.Object

  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.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Spans()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract int` | `doc()` Returns the document number of the current match.
    `abstract int` | `end()` Returns the end position of the current match.
    `abstract java.util.Collection` | `getPayload()` Returns the payload data for the current span.
    `abstract boolean` | `isPayloadAvailable()` Checks if a payload can be loaded at this position.
    `abstract boolean` | `next()` Move to the next match, returning true iff any such exists.
    `abstract boolean` | `skipTo(int target)` Skips to the first match beyond the current, whose document number is greater than or equal to target.
    `abstract int` | `start()` Returns the start position of the current match.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Spans

          public Spans()

  - ### Method Detail

    - #### next

          public abstract boolean next()
                                throws java.io.IOException

      Move to the next match, returning true iff any such exists.
      Throws:
        `java.io.IOException`

    - #### skipTo

          public abstract boolean skipTo(int target)
                                  throws java.io.IOException

      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:
        `java.io.IOException`

    - #### doc

          public abstract int doc()

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

    - #### start

          public abstract int start()

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

    - #### end

          public abstract int end()

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

    - #### getPayload

          public abstract java.util.Collection getPayload()
                                                   throws java.io.IOException

      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.

      WARNING: The status of the Payloads feature is experimental. The APIs introduced here might change in the future and will not be supported anymore in such a case.

      Returns:
        a List of byte arrays containing the data of this payload, otherwise null if isPayloadAvailable is false
      Throws:
        `java.io.IOException`

    - #### isPayloadAvailable

          public abstract 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

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.