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`

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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected float` | `boost()` | Returns the boost of the partial path set by `setNextMatch(IntsRef)`
    `BulkScorer` | `bulkScorer​(LeafReaderContext context)` |
    `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
    `Scorer` | `scorer​(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

      `count, getQuery, matches, scorerSupplier`

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

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

- - ### Constructor Detail

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

    - #### getAutomaton

          public Automaton getAutomaton()

      Returns the automaton specified by the `CompletionQuery`
      Returns:
        query automaton

    - #### bulkScorer

          public BulkScorer bulkScorer​(LeafReaderContext context)
                                throws IOException

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

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

    - #### scorer

          public Scorer scorer​(LeafReaderContext context)
                        throws IOException

      Specified by:
        `scorer` 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`