You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2018/05/02 15:21:36 UTC
lucene-solr:master: LUCENE-8142: Fix AssertingImpactsEnum and add
missing javadoc.
Repository: lucene-solr
Updated Branches:
refs/heads/master e00c4cede -> 46ecb7397
LUCENE-8142: Fix AssertingImpactsEnum and add missing javadoc.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/46ecb739
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/46ecb739
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/46ecb739
Branch: refs/heads/master
Commit: 46ecb739766a1a82b458b417e35f9c0936288e65
Parents: e00c4ce
Author: Adrien Grand <jp...@gmail.com>
Authored: Wed May 2 17:20:42 2018 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Wed May 2 17:20:42 2018 +0200
----------------------------------------------------------------------
lucene/core/src/java/org/apache/lucene/index/Impacts.java | 3 +++
.../java/org/apache/lucene/search/DisjunctionMaxScorer.java | 1 +
.../java/org/apache/lucene/search/DisjunctionSumScorer.java | 1 +
.../core/src/java/org/apache/lucene/search/ReqExclScorer.java | 5 +++++
.../src/java/org/apache/lucene/search/ReqOptSumScorer.java | 7 +++++++
.../src/java/org/apache/lucene/search/AssertingScorer.java | 2 +-
6 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/core/src/java/org/apache/lucene/index/Impacts.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/Impacts.java b/lucene/core/src/java/org/apache/lucene/index/Impacts.java
index ce3ece4..f6542b9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Impacts.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Impacts.java
@@ -23,6 +23,9 @@ import java.util.List;
*/
public abstract class Impacts {
+ /** Sole constructor. Typically invoked by sub classes. */
+ protected Impacts() {}
+
/**
* Return the number of levels on which we have impacts.
* The returned value is always greater than 0 and may not always be the
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
index 3b86068..6d2f65c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
@@ -53,6 +53,7 @@ final class DisjunctionMaxScorer extends DisjunctionScorer {
float scoreMax = 0;
double otherScoreSum = 0;
for (Scorer scorer : subScorers) {
+ scorer.advanceShallow(0);
float subScore = scorer.getMaxScore(DocIdSetIterator.NO_MORE_DOCS);
if (subScore >= scoreMax) {
otherScoreSum += scoreMax;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
index fa92fcd..4f45b07 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
@@ -36,6 +36,7 @@ final class DisjunctionSumScorer extends DisjunctionScorer {
super(weight, subScorers, needsScores);
double maxScore = 0;
for (Scorer scorer : subScorers) {
+ scorer.advanceShallow(0);
maxScore += scorer.getMaxScore(DocIdSetIterator.NO_MORE_DOCS);
}
// The error of sums depends on the order in which values are summed up. In
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
index 987293e..cee0a45 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
@@ -77,6 +77,11 @@ class ReqExclScorer extends Scorer {
}
@Override
+ public int advanceShallow(int target) throws IOException {
+ return reqScorer.advanceShallow(target);
+ }
+
+ @Override
public float getMaxScore(int upTo) throws IOException {
return reqScorer.getMaxScore(upTo);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
index 6d93a54..418ad99 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
@@ -52,6 +52,7 @@ class ReqOptSumScorer extends Scorer {
this.reqScorer = reqScorer;
this.optScorer = optScorer;
+ reqScorer.advanceShallow(0);
this.reqMaxScore = reqScorer.getMaxScore(DocIdSetIterator.NO_MORE_DOCS);
this.maxScorePropagator = new MaxScoreSumPropagator(Arrays.asList(reqScorer, optScorer));
@@ -210,6 +211,12 @@ class ReqOptSumScorer extends Scorer {
}
@Override
+ public int advanceShallow(int target) throws IOException {
+ optScorer.advanceShallow(target);
+ return reqScorer.advanceShallow(target);
+ }
+
+ @Override
public float getMaxScore(int upTo) throws IOException {
float maxScore = reqScorer.getMaxScore(upTo);
if (optScorer.docID() <= upTo) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/46ecb739/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
index 00aee41..952687f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
@@ -40,7 +40,7 @@ public class AssertingScorer extends Scorer {
IteratorState state = IteratorState.ITERATING;
int doc;
float minCompetitiveScore = 0;
- int lastShallowTarget;
+ int lastShallowTarget = -1;
private AssertingScorer(Random random, Scorer in, ScoreMode scoreMode) {
super(in.weight);