org.apache.lucene.search.spans

## Class SpanWeight

- java.lang.Object
- - org.apache.lucene.search.Weight
  - - org.apache.lucene.search.spans.SpanWeight

- All Implemented Interfaces:
    SegmentCacheable
  Direct Known Subclasses:
    org.apache.lucene.search.spans.SpanContainQuery.SpanContainWeight, SpanNearQuery.SpanNearWeight, SpanNotQuery.SpanNotWeight, SpanOrQuery.SpanOrWeight, SpanPositionCheckQuery.SpanPositionCheckWeight, SpanTermQuery.SpanTermWeight

      public abstract class SpanWeight
      extends Weight

  Expert-only. Public for use by other weight implementations

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SpanWeight.Postings` Enumeration defining what postings information should be retrieved from the index for a given Spans

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.Weight

      `Weight.DefaultBulkScorer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `field`
    `protected Similarity` | `similarity`
    `protected Similarity.SimScorer` | `simScorer`

    - ### Fields inherited from class org.apache.lucene.search.Weight

      `parentQuery`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SpanWeight(SpanQuery query, IndexSearcher searcher, Map<Term,TermStates> termStates, float boost)` Create a new SpanWeight

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Explanation` | `explain(LeafReaderContext context, int doc)` An explanation of the score computation for the named document.
    `abstract void` | `extractTermStates(Map<Term,TermStates> contexts)` Collect all TermStates used by this Weight
    `LeafSimScorer` | `getSimScorer(LeafReaderContext context)` Return a LeafSimScorer for this context
    `abstract Spans` | `getSpans(LeafReaderContext ctx, SpanWeight.Postings requiredPostings)` Expert: Return a Spans object iterating over matches from this Weight
    `Matches` | `matches(LeafReaderContext context, int doc)` Returns `Matches` for a specific document, or `null` if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will return `MatchesUtils.MATCH_WITH_NO_TERMS`
    `SpanScorer` | `scorer(LeafReaderContext context)` Returns a `Scorer` which can iterate in order over all matching documents and assign them a score.

    - ### Methods inherited from class org.apache.lucene.search.Weight

      `bulkScorer, extractTerms, getQuery, scorerSupplier`

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

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

    - ### Methods inherited from interface org.apache.lucene.search.SegmentCacheable

      `isCacheable`

- - ### Field Detail

    - #### similarity

          protected final Similarity similarity

    - #### simScorer

          protected final Similarity.SimScorer simScorer

    - #### field

          protected final String field

  - ### Constructor Detail

    - #### SpanWeight

          public SpanWeight(SpanQuery query,
                            IndexSearcher searcher,
                            Map<Term,TermStates> termStates,
                            float boost)
                     throws IOException

      Create a new SpanWeight
      Parameters:
        `query` - the parent query
        `searcher` - the IndexSearcher to query against
        `termStates` - a map of terms to `TermStates` for use in building the similarity. May be null if scores are not required
      Throws:
        `IOException` - on error

  - ### Method Detail

    - #### extractTermStates

          public abstract void extractTermStates(Map<Term,TermStates> contexts)

      Collect all TermStates used by this Weight
      Parameters:
        `contexts` - a map to add the TermStates to

    - #### getSpans

          public abstract Spans getSpans(LeafReaderContext ctx,
                                         SpanWeight.Postings requiredPostings)
                                  throws IOException

      Expert: Return a Spans object iterating over matches from this Weight
      Parameters:
        `ctx` - a LeafReaderContext for this Spans
      Returns:
        a Spans
      Throws:
        `IOException` - on error

    - #### scorer

          public SpanScorer scorer(LeafReaderContext context)
                            throws IOException

      Description copied from class: `Weight`
      Returns a `Scorer` which can iterate in order over all matching documents and assign them a score.

      NOTE: null can be returned if no documents will be scored by this query.

      NOTE: The returned `Scorer` does not have `LeafReader.getLiveDocs()` applied, they need to be checked on top.

      Specified by:
        `scorer` in class `Weight`
      Parameters:
        `context` - the `LeafReaderContext` for which to return the `Scorer`.
      Returns:
        a `Scorer` which scores documents in/out-of order.
      Throws:
        `IOException` - if there is a low-level I/O error

    - #### getSimScorer

          public LeafSimScorer getSimScorer(LeafReaderContext context)
                                     throws IOException

      Return a LeafSimScorer for this context
      Parameters:
        `context` - the LeafReaderContext
      Returns:
        a SimWeight
      Throws:
        `IOException` - on error

    - #### explain

          public Explanation explain(LeafReaderContext context,
                                     int doc)
                              throws IOException

      Description copied from class: `Weight`
      An explanation of the score computation for the named document.
      Specified by:
        `explain` in class `Weight`
      Parameters:
        `context` - the readers context to create the `Explanation` for.
        `doc` - the document's id relative to the given context's reader
      Returns:
        an Explanation for the score
      Throws:
        `IOException` - if an `IOException` occurs

    - #### matches

          public Matches matches(LeafReaderContext context,
                                 int doc)
                          throws IOException

      Description copied from class: `Weight`
      Returns `Matches` for a specific document, or `null` if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will return `MatchesUtils.MATCH_WITH_NO_TERMS`
      Overrides:
        `matches` in class `Weight`
      Parameters:
        `context` - the reader's context to create the `Matches` for
        `doc` - the document's id relative to the given context's reader
      Throws:
        `IOException`

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