Class RecallAtK

java.lang.Object
org.opensearch.index.rankeval.RecallAtK
All Implemented Interfaces:
NamedWriteable, Writeable, ToXContent, ToXContentObject, EvaluationMetric

public class RecallAtK
extends java.lang.Object
implements EvaluationMetric
Metric implementing Recall@K (https://en.wikipedia.org/wiki/Evaluation_measures_(information_retrieval)#Recall).
By default documents with a rating equal or bigger than 1 are considered to be "relevant" for this calculation. This value can be changed using the `relevant_rating_threshold` parameter.
The `k` parameter (defaults to 10) controls the search window size.
  • Field Details

  • Constructor Details

    • RecallAtK

      public RecallAtK​(int relevantRatingThreshold, int k)
      Metric implementing Recall@K.
      Parameters:
      relevantRatingThreshold - ratings equal or above this value will be considered relevant.
      k - controls the window size for the search results the metric takes into account
    • RecallAtK

      public RecallAtK()
  • Method Details

    • fromXContent

      public static RecallAtK fromXContent​(XContentParser parser)
    • writeTo

      public void writeTo​(StreamOutput out) throws java.io.IOException
      Specified by:
      writeTo in interface Writeable
      Throws:
      java.io.IOException
    • toXContent

      public XContentBuilder toXContent​(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
      Specified by:
      toXContent in interface ToXContent
      Throws:
      java.io.IOException
    • getWriteableName

      public java.lang.String getWriteableName()
      Specified by:
      getWriteableName in interface NamedWriteable
    • getRelevantRatingThreshold

      public int getRelevantRatingThreshold()
      Return the rating threshold above which ratings are considered to be "relevant" for this metric. Defaults to 1.
    • getK

      public int getK()
    • forcedSearchSize

      public java.util.OptionalInt forcedSearchSize()
      Description copied from interface: EvaluationMetric
      Metrics can define a size of the search hits windows they want to retrieve by overwriting this method. The default implementation returns an empty optional.
      Specified by:
      forcedSearchSize in interface EvaluationMetric
      Returns:
      the number of search hits this metrics requests
    • evaluate

      public EvalQueryQuality evaluate​(java.lang.String taskId, SearchHit[] hits, java.util.List<RatedDocument> ratedDocs)
      Compute recall at k based on provided relevant document IDs.
      Specified by:
      evaluate in interface EvaluationMetric
      Parameters:
      taskId - an identifier of the query for which the search ranking is evaluated
      hits - the search result hits
      ratedDocs - the documents that contain the document rating for this query case
      Returns:
      recall at k for above SearchResult list.
    • equals

      public final boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class java.lang.Object