org.apache.lucene.search.spans

## Class SpanWeight

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

Direct Known Subclasses:
  PayloadNearQuery.PayloadNearSpanWeight, PayloadTermQuery.PayloadTermWeight

    public class SpanWeight
    extends Weight

Expert-only. Public for use by other weight implementations

### Field Summary

Fields
`protected SpanQuery` `query`
`protected Similarity` `similarity`
`protected Similarity.SimWeight` `stats`
`protected Map<Term,TermContext>` `termContexts`

### Constructor Summary

Constructors
Constructor and Description
`SpanWeight(SpanQuery query, IndexSearcher searcher)`

### Method Summary

Methods
`Explanation` `explain(AtomicReaderContext context, int doc)` An explanation of the score computation for the named document.
`Query` `getQuery()` The query that this concerns.
`float` `getValueForNormalization()` The value for normalization of contained query clauses (e.g.
`void` `normalize(float queryNorm, float topLevelBoost)` Assigns the query normalization factor and boost from parent queries to this.
`Scorer` `scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs)` Returns a `Scorer` which scores documents in/out-of order according to `scoreDocsInOrder`.

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

`scoresDocsOutOfOrder`

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

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

### Field Detail

#### similarity

    protected Similarity similarity

#### termContexts

    protected Map<Term,TermContext> termContexts

#### query

    protected SpanQuery query

#### stats

    protected Similarity.SimWeight stats

### Constructor Detail

#### SpanWeight

    public SpanWeight(SpanQuery query,
              IndexSearcher searcher)
               throws IOException

Throws:
  `IOException`

### Method Detail

#### getQuery

    public Query getQuery()

Description copied from class: `Weight`
The query that this concerns.

Specified by:
  `getQuery` in class `Weight`

#### getValueForNormalization

    public float getValueForNormalization()
                                   throws IOException

Description copied from class: `Weight`
The value for normalization of contained query clauses (e.g. sum of squared weights).

Specified by:
  `getValueForNormalization` in class `Weight`
Throws:
  `IOException`

#### normalize

    public void normalize(float queryNorm,
                 float topLevelBoost)

Description copied from class: `Weight`
Assigns the query normalization factor and boost from parent queries to this.

Specified by:
  `normalize` in class `Weight`

#### scorer

    public Scorer scorer(AtomicReaderContext context,
                boolean scoreDocsInOrder,
                boolean topScorer,
                Bits acceptDocs)
                  throws IOException

Description copied from class: `Weight`
Returns a `Scorer` which scores documents in/out-of order according to `scoreDocsInOrder`.

NOTE: even if `scoreDocsInOrder` is false, it is recommended to check whether the returned `Scorer` indeed scores documents out of order (i.e., call `Weight.scoresDocsOutOfOrder()`), as some `Scorer` implementations will always return documents in-order.
NOTE: null can be returned if no documents will be scored by this query.

Specified by:
  `scorer` in class `Weight`
Parameters:
  `context` - the `AtomicReaderContext` for which to return the `Scorer`.
  `scoreDocsInOrder` - specifies whether in-order scoring of documents is required. Note that if set to false (i.e., out-of-order scoring is required), this method can return whatever scoring mode it supports, as every in-order scorer is also an out-of-order one. However, an out-of-order scorer may not support `DocIdSetIterator.nextDoc()` and/or `DocIdSetIterator.advance(int)`, therefore it is recommended to request an in-order scorer if use of these methods is required.
  `topScorer` - if true, `Scorer.score(Collector)` will be called; if false, `DocIdSetIterator.nextDoc()` and/or `DocIdSetIterator.advance(int)` will be called.
  `acceptDocs` - Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)
Returns:
  a `Scorer` which scores documents in/out-of order.
Throws:
  `IOException` - if there is a low-level I/O error

#### explain

    public Explanation explain(AtomicReaderContext 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