Package org.apache.lucene.queries.spans

# Class SpanWeight

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

All Implemented Interfaces:
  `SegmentCacheable`

Direct Known Subclasses:
  `org.apache.lucene.queries.spans.SpanContainQuery.SpanContainWeight`, `SpanNearQuery.SpanNearWeight`, `SpanNotQuery.SpanNotWeight`, `SpanOrQuery.SpanOrWeight`, `SpanPayloadCheckQuery.SpanPayloadCheckWeight`, `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
Description
`static enum`
`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, Weight.DefaultScorerSupplier`

## Field Summary

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

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

`parentQuery`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`Explanation`
`explain(LeafReaderContext context, int doc)`
`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)`
`ScorerSupplier`
`scorerSupplier(LeafReaderContext context)`

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

`bulkScorer, count, getQuery, scorer`

### 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 Details

### similarity

protected final Similarity similarity

### simScorer

protected final Similarity.SimScorer simScorer

### field

protected final String field

## Constructor Details

### 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 Details

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

### scorerSupplier

public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException

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

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

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

### matches

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

Overrides:
  `matches` in class `Weight`
Throws:
  `IOException`