Package org.elasticsearch.index.rankeval
Interface EvaluationMetric
-
- All Superinterfaces:
NamedWriteable,ToXContent,ToXContentObject,Writeable
public interface EvaluationMetric extends ToXContentObject, NamedWriteable
Implementations ofEvaluationMetricneed to provide a way to compute the quality metric for a result list returned by some search (@linkSearchHits) and a list of rated documents.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
-
Field Summary
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default doublecombine(Collection<EvalQueryQuality> partialResults)Combine severalEvalQueryQualityresults into the overall evaluation score.EvalQueryQualityevaluate(String taskId, SearchHit[] hits, List<RatedDocument> ratedDocs)Evaluates a single ranking evaluation case.static List<org.elasticsearch.index.rankeval.RatedDocument.DocumentKey>filterUnratedDocuments(List<RatedSearchHit> ratedHits)FilterRatedSearchHits that do not have a rating.default OptionalIntforcedSearchSize()Metrics can define a size of the search hits windows they want to retrieve by overwriting this method.static List<RatedSearchHit>joinHitsWithRatings(SearchHit[] hits, List<RatedDocument> ratedDocs)Joins hits with rated documents using the joint _index/_id document key.-
Methods inherited from interface org.elasticsearch.common.io.stream.NamedWriteable
getWriteableName
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContent
toXContent
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
-
-
-
Method Detail
-
evaluate
EvalQueryQuality evaluate(String taskId, SearchHit[] hits, List<RatedDocument> ratedDocs)
Evaluates a single ranking evaluation case.- Parameters:
taskId- an identifier of the query for which the search ranking is evaluatedhits- the search result hitsratedDocs- the documents that contain the document rating for this query case- Returns:
- an
EvalQueryQualityinstance that contains the metric score with respect to the provided search hits and ratings
-
joinHitsWithRatings
static List<RatedSearchHit> joinHitsWithRatings(SearchHit[] hits, List<RatedDocument> ratedDocs)
Joins hits with rated documents using the joint _index/_id document key.
-
filterUnratedDocuments
static List<org.elasticsearch.index.rankeval.RatedDocument.DocumentKey> filterUnratedDocuments(List<RatedSearchHit> ratedHits)
FilterRatedSearchHits that do not have a rating.
-
combine
default double combine(Collection<EvalQueryQuality> partialResults)
Combine severalEvalQueryQualityresults into the overall evaluation score. This defaults to averaging over the partial results, but can be overwritten to obtain a different behavior.
-
forcedSearchSize
default OptionalInt forcedSearchSize()
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.- Returns:
- the number of search hits this metrics requests
-
-