From 1037d071bfc2b6e535ec1f532681afdd837b2502 Mon Sep 17 00:00:00 2001 From: Richard Boulton Date: Tue, 10 Dec 2013 13:38:41 +0000 Subject: [PATCH] Fix bug in explain for function_score queries. The explain output for function_score queries with score_mode=max or score_mode=min was incorrect, returning instead the value of the last function. This change fixes this. --- .../lucene/search/function/FiltersFunctionScoreQuery.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java b/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java index 5ebbacc160b..8526072722a 100644 --- a/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java +++ b/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java @@ -202,15 +202,15 @@ public class FiltersFunctionScoreQuery extends Query { factor = filterExplanations.get(0).getValue(); break; case Max: - double maxFactor = Double.NEGATIVE_INFINITY; + factor = Double.NEGATIVE_INFINITY; for (int i = 0; i < filterExplanations.size(); i++) { - factor = Math.max(filterExplanations.get(i).getValue(), maxFactor); + factor = Math.max(filterExplanations.get(i).getValue(), factor); } break; case Min: - double minFactor = Double.POSITIVE_INFINITY; + factor = Double.POSITIVE_INFINITY; for (int i = 0; i < filterExplanations.size(); i++) { - factor = Math.min(filterExplanations.get(i).getValue(), minFactor); + factor = Math.min(filterExplanations.get(i).getValue(), factor); } break; case Multiply: