diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java')
-rw-r--r-- | core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java b/core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java index fe12622748..abf145406c 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/function/FiltersFunctionScoreQuery.java @@ -135,9 +135,9 @@ public class FiltersFunctionScoreQuery extends Query { } @Override - public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException { + public Weight createWeight(IndexSearcher searcher, boolean needsScores, float boost) throws IOException { if (needsScores == false && minScore == null) { - return subQuery.createWeight(searcher, needsScores); + return subQuery.createWeight(searcher, needsScores, boost); } boolean subQueryNeedsScores = combineFunction != CombineFunction.REPLACE; @@ -146,7 +146,7 @@ public class FiltersFunctionScoreQuery extends Query { subQueryNeedsScores |= filterFunctions[i].function.needsScores(); filterWeights[i] = searcher.createNormalizedWeight(filterFunctions[i].filter, false); } - Weight subQueryWeight = subQuery.createWeight(searcher, subQueryNeedsScores); + Weight subQueryWeight = subQuery.createWeight(searcher, subQueryNeedsScores, boost); return new CustomBoostFactorWeight(this, subQueryWeight, filterWeights, subQueryNeedsScores); } @@ -168,16 +168,6 @@ public class FiltersFunctionScoreQuery extends Query { subQueryWeight.extractTerms(terms); } - @Override - public float getValueForNormalization() throws IOException { - return subQueryWeight.getValueForNormalization(); - } - - @Override - public void normalize(float norm, float boost) { - subQueryWeight.normalize(norm, boost); - } - private FiltersFunctionFactorScorer functionScorer(LeafReaderContext context) throws IOException { Scorer subQueryScorer = subQueryWeight.scorer(context); if (subQueryScorer == null) { @@ -281,7 +271,7 @@ public class FiltersFunctionScoreQuery extends Query { return scoreCombiner.combine(subQueryScore, factor, maxBoost); } - protected double computeScore(int docId, float subQueryScore) { + protected double computeScore(int docId, float subQueryScore) throws IOException { double factor = 1d; switch(scoreMode) { case FIRST: |