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
`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
`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
`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`