Package org.apache.lucene.search.suggest.document

# Class CompletionWeight

java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.search.suggest.document.CompletionWeight

All Implemented Interfaces:
  `SegmentCacheable`

public class CompletionWeight extends Weight
Expert: the Weight for CompletionQuery, used to score and explain these queries.

Subclasses can override `setNextMatch(IntsRef)`, `boost()` and `context()` to calculate the boost and extract the context of a matched path prefix.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

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

`Weight.DefaultBulkScorer, Weight.DefaultScorerSupplier`

## Field Summary

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

`parentQuery`

## Constructor Summary

Constructors
Constructor
Description
`CompletionWeight(CompletionQuery query, Automaton automaton)`
Creates a weight for `query` with an `automaton`, using the `reader` for index stats

## Method Summary

Modifier and Type
Method
Description
`protected float`
`boost()`
Returns the boost of the partial path set by `setNextMatch(IntsRef)`
`protected CharSequence`
`context()`
Returns the context of the partial path set by `setNextMatch(IntsRef)`
`Explanation`
`explain(LeafReaderContext context, int doc)`
`Automaton`
`getAutomaton()`
Returns the automaton specified by the `CompletionQuery`
`boolean`
`isCacheable(LeafReaderContext ctx)`
This object can be cached
`ScorerSupplier`
`scorerSupplier(LeafReaderContext context)`
`protected void`
`setNextMatch(IntsRef pathPrefix)`
Set for every partial path in the index that matched the query automaton.

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

`bulkScorer, count, getQuery, matches, scorer`

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

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

## Constructor Details

### CompletionWeight

public CompletionWeight(CompletionQuery query, Automaton automaton) throws IOException
Creates a weight for `query` with an `automaton`, using the `reader` for index stats

Throws:
  `IOException`

## Method Details

### getAutomaton

public Automaton getAutomaton()
Returns the automaton specified by the `CompletionQuery`

Returns:
  query automaton

### setNextMatch

protected void setNextMatch(IntsRef pathPrefix)
Set for every partial path in the index that matched the query automaton.

Subclasses should override `boost()` and `context()` to return an appropriate value with respect to the current pathPrefix.

Parameters:
  `pathPrefix` - the prefix of a matched path

### boost

protected float boost()
Returns the boost of the partial path set by `setNextMatch(IntsRef)`

Returns:
  suggestion query-time boost

### context

protected CharSequence context()
Returns the context of the partial path set by `setNextMatch(IntsRef)`

Returns:
  suggestion context

### scorerSupplier

public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException

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

### isCacheable

public boolean isCacheable(LeafReaderContext ctx)
This object can be cached

See Also:
  - `SegmentCacheable.isCacheable(LeafReaderContext)`

### explain

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

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