PayloadFunction (Lucene 10.5.1 queries API)
Description: declaration: package: org.apache.lucene.queries.payloads, class: PayloadFunction

Package org.apache.lucene.queries.payloads

# Class PayloadFunction

java.lang.Object
org.apache.lucene.queries.payloads.PayloadFunction

Direct Known Subclasses:
  `AveragePayloadFunction`, `MaxPayloadFunction`, `MinPayloadFunction`, `SumPayloadFunction`

public abstract class PayloadFunction extends Object
An abstract class that defines a way for PayloadScoreQuery instances to transform the cumulative effects of payload scores for a document.

See Also:
  - `for more information`
WARNING: This API is experimental and might change in incompatible ways in the next release.
  This class and its derivations are experimental and subject to change

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PayloadFunction()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract float`
  `currentScore(int docId, String field, int start, int end, int numPayloadsSeen, float currentScore, float currentPayloadScore)`
  Calculate the score up to this point for this doc and field
  `abstract float`
  `docScore(int docId, String field, int numPayloadsSeen, float payloadScore)`
  Calculate the final score for all the payloads seen so far for this doc/field
  `abstract boolean`
  `equals(Object o)`
  `Explanation`
  `explain(int docId, String field, int numPayloadsSeen, float payloadScore)`
  `abstract int`
  `hashCode()`

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

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

- ## Constructor Details

  - ### PayloadFunction

    public PayloadFunction()

- ## Method Details

  - ### currentScore

    public abstract float currentScore(int docId, String field, int start, int end, int numPayloadsSeen, float currentScore, float currentPayloadScore)
    Calculate the score up to this point for this doc and field
    Parameters:
      `docId` - The current doc
      `field` - The field
      `start` - The start position of the matching Span
      `end` - The end position of the matching Span
      `numPayloadsSeen` - The number of payloads seen so far
      `currentScore` - The current score so far
      `currentPayloadScore` - The score for the current payload
    Returns:
      The new current Score
    See Also:
      - `Spans`

  - ### docScore

    public abstract float docScore(int docId, String field, int numPayloadsSeen, float payloadScore)
    Calculate the final score for all the payloads seen so far for this doc/field
    Parameters:
      `docId` - The current doc
      `field` - The current field
      `numPayloadsSeen` - The total number of payloads seen on this document
      `payloadScore` - The raw score for those payloads
    Returns:
      The final score for the payloads

  - ### explain

    public Explanation explain(int docId, String field, int numPayloadsSeen, float payloadScore)

  - ### hashCode

    public abstract int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public abstract boolean equals(Object o)
    Overrides:
      `equals` in class `Object`