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

    All Methods Instance Methods Abstract Methods Concrete Methods
    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 Detail

    - #### PayloadFunction

          public PayloadFunction()

  - ### Method Detail

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