Package org.apache.lucene.queries.payloads

# Class PayloadScoreQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.spans.SpanQuery
org.apache.lucene.queries.payloads.PayloadScoreQuery

public class PayloadScoreQuery extends SpanQuery
A Query class that uses a `PayloadFunction` to modify the score of a wrapped `SpanQuery`. A wrapped span query is used due to the way that payload values are indexed, see `PostingsEnum.PAYLOADS`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PayloadScoreQuery(SpanQuery wrappedQuery, PayloadFunction function, PayloadDecoder decoder)`
  Creates a new PayloadScoreQuery that includes the underlying span scores
  `PayloadScoreQuery(SpanQuery wrappedQuery, PayloadFunction function, PayloadDecoder decoder, boolean includeSpanScore)`
  Creates a new PayloadScoreQuery

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SpanWeight`
  `createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
  `boolean`
  `equals(Object other)`
  `String`
  `getField()`
  Returns the name of the field matched by this query.
  `int`
  `hashCode()`
  `Query`
  `rewrite(IndexSearcher indexSearcher)`
  `String`
  `toString(String field)`
  `void`
  `visit(QueryVisitor visitor)`

  ### Methods inherited from class org.apache.lucene.queries.spans.SpanQuery

  `getTermStates, getTermStates`

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

  `classHash, sameClassAs, toString`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PayloadScoreQuery

    public PayloadScoreQuery(SpanQuery wrappedQuery, PayloadFunction function, PayloadDecoder decoder, boolean includeSpanScore)
    Creates a new PayloadScoreQuery
    Parameters:
      `wrappedQuery` - the query to wrap
      `function` - a PayloadFunction to use to modify the scores
      `decoder` - a PayloadDecoder to convert payloads into float values
      `includeSpanScore` - include both span score and payload score in the scoring algorithm

  - ### PayloadScoreQuery

    public PayloadScoreQuery(SpanQuery wrappedQuery, PayloadFunction function, PayloadDecoder decoder)
    Creates a new PayloadScoreQuery that includes the underlying span scores
    Parameters:
      `wrappedQuery` - the query to wrap
      `function` - a PayloadFunction to use to modify the scores

- ## Method Details

  - ### getField

    public String getField()
    Description copied from class: `SpanQuery`
    Returns the name of the field matched by this query.
    Specified by:
      `getField` in class `SpanQuery`

  - ### rewrite

    public Query rewrite(IndexSearcher indexSearcher) throws IOException
    Overrides:
      `rewrite` in class `Query`
    Throws:
      `IOException`

  - ### visit

    public void visit(QueryVisitor visitor)
    Specified by:
      `visit` in class `Query`

  - ### toString

    public String toString(String field)
    Specified by:
      `toString` in class `Query`

  - ### createWeight

    public SpanWeight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
    Specified by:
      `createWeight` in class `SpanQuery`
    Throws:
      `IOException`

  - ### equals

    public boolean equals(Object other)
    Specified by:
      `equals` in class `Query`

  - ### hashCode

    public int hashCode()
    Specified by:
      `hashCode` in class `Query`