You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2014/04/05 11:03:00 UTC
svn commit: r1585024 [2/4] - in /lucene/dev/branches/solr5914: ./ dev-tools/
dev-tools/idea/.idea/libraries/ lucene/ lucene/core/
lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/java/org/apache/lucene/search/
lucene/core/src/java/org/apac...
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java Sat Apr 5 09:02:57 2014
@@ -26,6 +26,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.CollectionStatistics;
@@ -34,6 +35,7 @@ import org.apache.lucene.search.Explanat
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TermStatistics;
import org.apache.lucene.search.similarities.TFIDFSimilarity;
@@ -414,14 +416,12 @@ public class TestOmitTf extends LuceneTe
dir.close();
}
- public static class CountingHitCollector extends Collector {
+ public static class CountingHitCollector extends SimpleCollector {
static int count=0;
static int sum=0;
private int docBase = -1;
CountingHitCollector(){count=0;sum=0;}
@Override
- public void setScorer(Scorer scorer) throws IOException {}
- @Override
public void collect(int doc) throws IOException {
count++;
sum += doc + docBase; // use it to avoid any possibility of being merged away
@@ -431,7 +431,7 @@ public class TestOmitTf extends LuceneTe
public static int getSum() { return sum; }
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
docBase = context.docBase;
}
@Override
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java Sat Apr 5 09:02:57 2014
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
* limitations under the License.
*/
+import java.io.IOException;
+
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
@@ -37,7 +39,7 @@ final class JustCompileSearch {
private static final String UNSUPPORTED_MSG = "unsupported: used for back-compat testing only !";
- static final class JustCompileCollector extends Collector {
+ static final class JustCompileCollector extends SimpleCollector {
@Override
public void collect(int doc) {
@@ -45,7 +47,7 @@ final class JustCompileSearch {
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
throw new UnsupportedOperationException(UNSUPPORTED_MSG);
}
@@ -290,7 +292,7 @@ final class JustCompileSearch {
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
throw new UnsupportedOperationException(UNSUPPORTED_MSG);
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java Sat Apr 5 09:02:57 2014
@@ -27,7 +27,7 @@ import org.junit.Test;
public class MultiCollectorTest extends LuceneTestCase {
- private static class DummyCollector extends Collector {
+ private static class DummyCollector extends SimpleCollector {
boolean acceptsDocsOutOfOrderCalled = false;
boolean collectCalled = false;
@@ -46,7 +46,7 @@ public class MultiCollectorTest extends
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
setNextReaderCalled = true;
}
@@ -71,10 +71,11 @@ public class MultiCollectorTest extends
// doesn't, an NPE would be thrown.
Collector c = MultiCollector.wrap(new DummyCollector(), null, new DummyCollector());
assertTrue(c instanceof MultiCollector);
- assertTrue(c.acceptsDocsOutOfOrder());
- c.collect(1);
- c.setNextReader(null);
- c.setScorer(null);
+ final LeafCollector ac = c.getLeafCollector(null);
+ assertTrue(ac.acceptsDocsOutOfOrder());
+ ac.collect(1);
+ c.getLeafCollector(null);
+ c.getLeafCollector(null).setScorer(null);
}
@Test
@@ -93,10 +94,11 @@ public class MultiCollectorTest extends
// doesn't, an NPE would be thrown.
DummyCollector[] dcs = new DummyCollector[] { new DummyCollector(), new DummyCollector() };
Collector c = MultiCollector.wrap(dcs);
- assertTrue(c.acceptsDocsOutOfOrder());
- c.collect(1);
- c.setNextReader(null);
- c.setScorer(null);
+ LeafCollector ac = c.getLeafCollector(null);
+ assertTrue(ac.acceptsDocsOutOfOrder());
+ ac.collect(1);
+ ac = c.getLeafCollector(null);
+ ac.setScorer(null);
for (DummyCollector dc : dcs) {
assertTrue(dc.acceptsDocsOutOfOrderCalled);
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java Sat Apr 5 09:02:57 2014
@@ -187,10 +187,7 @@ public class TestBooleanOr extends Lucen
final FixedBitSet hits = new FixedBitSet(docCount);
final AtomicInteger end = new AtomicInteger();
- Collector c = new Collector() {
- @Override
- public void setNextReader(AtomicReaderContext sub) {
- }
+ LeafCollector c = new SimpleCollector() {
@Override
public void collect(int doc) {
@@ -199,10 +196,6 @@ public class TestBooleanOr extends Lucen
}
@Override
- public void setScorer(Scorer scorer) {
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java Sat Apr 5 09:02:57 2014
@@ -121,46 +121,45 @@ public class TestBooleanQueryVisitSubsco
return collector.docCounts;
}
- static class MyCollector extends Collector {
-
- private TopDocsCollector<ScoreDoc> collector;
- private int docBase;
+ static class MyCollector extends FilterCollector {
public final Map<Integer,Integer> docCounts = new HashMap<>();
private final Set<Scorer> tqsSet = new HashSet<>();
MyCollector() {
- collector = TopScoreDocCollector.create(10, true);
- }
-
- @Override
- public boolean acceptsDocsOutOfOrder() {
- return false;
+ super(TopScoreDocCollector.create(10, true));
}
- @Override
- public void collect(int doc) throws IOException {
- int freq = 0;
- for(Scorer scorer : tqsSet) {
- if (doc == scorer.docID()) {
- freq += scorer.freq();
+ public LeafCollector getLeafCollector(AtomicReaderContext context)
+ throws IOException {
+ final int docBase = context.docBase;
+ return new FilterLeafCollector(super.getLeafCollector(context)) {
+
+ @Override
+ public boolean acceptsDocsOutOfOrder() {
+ return false;
}
- }
- docCounts.put(doc + docBase, freq);
- collector.collect(doc);
- }
-
- @Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
- this.docBase = context.docBase;
- collector.setNextReader(context);
- }
-
- @Override
- public void setScorer(Scorer scorer) throws IOException {
- collector.setScorer(scorer);
- tqsSet.clear();
- fillLeaves(scorer, tqsSet);
+
+ @Override
+ public void setScorer(Scorer scorer) throws IOException {
+ super.setScorer(scorer);
+ tqsSet.clear();
+ fillLeaves(scorer, tqsSet);
+ }
+
+ @Override
+ public void collect(int doc) throws IOException {
+ int freq = 0;
+ for(Scorer scorer : tqsSet) {
+ if (doc == scorer.docID()) {
+ freq += scorer.freq();
+ }
+ }
+ docCounts.put(doc + docBase, freq);
+ super.collect(doc);
+ }
+
+ };
}
private void fillLeaves(Scorer scorer, Set<Scorer> set) {
@@ -174,11 +173,12 @@ public class TestBooleanQueryVisitSubsco
}
public TopDocs topDocs(){
- return collector.topDocs();
+ return ((TopDocsCollector<?>) in).topDocs();
}
public int freq(int doc) throws IOException {
return docCounts.get(doc);
}
+
}
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java Sat Apr 5 09:02:57 2014
@@ -84,7 +84,7 @@ public class TestBooleanScorer extends L
private int doc = -1;
@Override
- public boolean score(Collector c, int maxDoc) throws IOException {
+ public boolean score(LeafCollector c, int maxDoc) throws IOException {
assert doc == -1;
doc = 3000;
FakeScorer fs = new FakeScorer();
@@ -99,7 +99,7 @@ public class TestBooleanScorer extends L
BooleanScorer bs = new BooleanScorer(weight, false, 1, Arrays.asList(scorers), Collections.<BulkScorer>emptyList(), scorers.length);
final List<Integer> hits = new ArrayList<>();
- bs.score(new Collector() {
+ bs.score(new SimpleCollector() {
int docBase;
@Override
public void setScorer(Scorer scorer) {
@@ -111,7 +111,7 @@ public class TestBooleanScorer extends L
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
docBase = context.docBase;
}
@@ -138,7 +138,8 @@ public class TestBooleanScorer extends L
w.addDocument(doc);
final IndexReader r = w.getReader();
w.close();
- final IndexSearcher s = newSearcher(r);
+ // we don't wrap with AssertingIndexSearcher in order to have the original scorer in setScorer.
+ final IndexSearcher s = newSearcher(r, true, false);
final BooleanQuery q = new BooleanQuery();
for(int term=0;term<33;term++) {
@@ -149,12 +150,12 @@ public class TestBooleanScorer extends L
BooleanClause.Occur.SHOULD));
final int[] count = new int[1];
- s.search(q, new Collector() {
+ s.search(q, new SimpleCollector() {
@Override
public void setScorer(Scorer scorer) {
// Make sure we got BooleanScorer:
- final Class<?> clazz = scorer instanceof AssertingScorer ? ((AssertingScorer) scorer).getIn().getClass() : scorer.getClass();
+ final Class<?> clazz = scorer.getClass();
assertEquals("Scorer is implemented by wrong class", FakeScorer.class.getName(), clazz.getName());
}
@@ -164,10 +165,6 @@ public class TestBooleanScorer extends L
}
@Override
- public void setNextReader(AtomicReaderContext context) {
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
@@ -219,7 +216,7 @@ public class TestBooleanScorer extends L
return new BulkScorer() {
@Override
- public boolean score(Collector collector, int max) throws IOException {
+ public boolean score(LeafCollector collector, int max) throws IOException {
collector.setScorer(new FakeScorer());
collector.collect(0);
return false;
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java Sat Apr 5 09:02:57 2014
@@ -17,11 +17,10 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.index.AtomicReaderContext;
-import org.apache.lucene.util.LuceneTestCase;
-
import java.io.IOException;
+import org.apache.lucene.util.LuceneTestCase;
+
public class TestCachingCollector extends LuceneTestCase {
private static final double ONE_BYTE = 1.0 / (1024 * 1024); // 1 byte out of MB
@@ -53,24 +52,18 @@ public class TestCachingCollector extend
}
}
- private static class NoOpCollector extends Collector {
+ private static class NoOpCollector extends SimpleCollector {
private final boolean acceptDocsOutOfOrder;
public NoOpCollector(boolean acceptDocsOutOfOrder) {
this.acceptDocsOutOfOrder = acceptDocsOutOfOrder;
}
-
- @Override
- public void setScorer(Scorer scorer) throws IOException {}
@Override
public void collect(int doc) throws IOException {}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {}
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return acceptDocsOutOfOrder;
}
@@ -80,24 +73,19 @@ public class TestCachingCollector extend
public void testBasic() throws Exception {
for (boolean cacheScores : new boolean[] { false, true }) {
CachingCollector cc = CachingCollector.create(new NoOpCollector(false), cacheScores, 1.0);
- cc.setScorer(new MockScorer());
+ LeafCollector acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
// collect 1000 docs
for (int i = 0; i < 1000; i++) {
- cc.collect(i);
+ acc.collect(i);
}
// now replay them
- cc.replay(new Collector() {
+ cc.replay(new SimpleCollector() {
int prevDocID = -1;
@Override
- public void setScorer(Scorer scorer) {}
-
- @Override
- public void setNextReader(AtomicReaderContext context) {}
-
- @Override
public void collect(int doc) {
assertEquals(prevDocID + 1, doc);
prevDocID = doc;
@@ -113,11 +101,12 @@ public class TestCachingCollector extend
public void testIllegalStateOnReplay() throws Exception {
CachingCollector cc = CachingCollector.create(new NoOpCollector(false), true, 50 * ONE_BYTE);
- cc.setScorer(new MockScorer());
+ LeafCollector acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
// collect 130 docs, this should be enough for triggering cache abort.
for (int i = 0; i < 130; i++) {
- cc.collect(i);
+ acc.collect(i);
}
assertFalse("CachingCollector should not be cached due to low memory limit", cc.isCached());
@@ -135,16 +124,18 @@ public class TestCachingCollector extend
// is valid with the Collector passed to the ctor
// 'src' Collector does not support out-of-order
- CachingCollector cc = CachingCollector.create(new NoOpCollector(false), true, 50 * ONE_BYTE);
- cc.setScorer(new MockScorer());
- for (int i = 0; i < 10; i++) cc.collect(i);
+ CachingCollector cc = CachingCollector.create(new NoOpCollector(false), true, 100 * ONE_BYTE);
+ LeafCollector acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
+ for (int i = 0; i < 10; i++) acc.collect(i);
cc.replay(new NoOpCollector(true)); // this call should not fail
cc.replay(new NoOpCollector(false)); // this call should not fail
// 'src' Collector supports out-of-order
- cc = CachingCollector.create(new NoOpCollector(true), true, 50 * ONE_BYTE);
- cc.setScorer(new MockScorer());
- for (int i = 0; i < 10; i++) cc.collect(i);
+ cc = CachingCollector.create(new NoOpCollector(true), true, 100 * ONE_BYTE);
+ acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
+ for (int i = 0; i < 10; i++) acc.collect(i);
cc.replay(new NoOpCollector(true)); // this call should not fail
try {
cc.replay(new NoOpCollector(false)); // this call should fail
@@ -165,12 +156,13 @@ public class TestCachingCollector extend
int bytesPerDoc = cacheScores ? 8 : 4;
CachingCollector cc = CachingCollector.create(new NoOpCollector(false),
cacheScores, bytesPerDoc * ONE_BYTE * numDocs);
- cc.setScorer(new MockScorer());
- for (int i = 0; i < numDocs; i++) cc.collect(i);
+ LeafCollector acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
+ for (int i = 0; i < numDocs; i++) acc.collect(i);
assertTrue(cc.isCached());
// The 151's document should terminate caching
- cc.collect(numDocs);
+ acc.collect(numDocs);
assertFalse(cc.isCached());
}
}
@@ -179,9 +171,9 @@ public class TestCachingCollector extend
for (boolean cacheScores : new boolean[] { false, true }) {
// create w/ null wrapped collector, and test that the methods work
CachingCollector cc = CachingCollector.create(true, cacheScores, 50 * ONE_BYTE);
- cc.setNextReader(null);
- cc.setScorer(new MockScorer());
- cc.collect(0);
+ LeafCollector acc = cc.getLeafCollector(null);
+ acc.setScorer(new MockScorer());
+ acc.collect(0);
assertTrue(cc.isCached());
cc.replay(new NoOpCollector(true));
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java Sat Apr 5 09:02:57 2014
@@ -50,7 +50,7 @@ public class TestConstantScoreQuery exte
private void checkHits(IndexSearcher searcher, Query q, final float expectedScore, final String scorerClassName, final String innerScorerClassName) throws IOException {
final int[] count = new int[1];
- searcher.search(q, new Collector() {
+ searcher.search(q, new SimpleCollector() {
private Scorer scorer;
@Override
@@ -70,10 +70,6 @@ public class TestConstantScoreQuery exte
}
@Override
- public void setNextReader(AtomicReaderContext context) {
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
@@ -95,7 +91,8 @@ public class TestConstantScoreQuery exte
reader = writer.getReader();
writer.close();
- searcher = newSearcher(reader);
+ // we don't wrap with AssertingIndexSearcher in order to have the original scorer in setScorer.
+ searcher = newSearcher(reader, true, false);
// set a similarity that does not normalize our boost away
searcher.setSimilarity(new DefaultSimilarity() {
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java Sat Apr 5 09:02:57 2014
@@ -59,7 +59,7 @@ public class TestDocBoost extends Lucene
IndexSearcher searcher = newSearcher(reader);
searcher.search
(new TermQuery(new Term("field", "word")),
- new Collector() {
+ new SimpleCollector() {
private int base = 0;
private Scorer scorer;
@Override
@@ -71,7 +71,7 @@ public class TestDocBoost extends Lucene
scores[doc + base] = scorer.score();
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
base = context.docBase;
}
@Override
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java Sat Apr 5 09:02:57 2014
@@ -58,15 +58,12 @@ public class TestEarlyTermination extend
for (int i = 0; i < iters; ++i) {
final IndexSearcher searcher = newSearcher(reader);
- final Collector collector = new Collector() {
+ final Collector collector = new SimpleCollector() {
final boolean outOfOrder = random().nextBoolean();
boolean collectionTerminated = true;
@Override
- public void setScorer(Scorer scorer) throws IOException {}
-
- @Override
public void collect(int doc) throws IOException {
assertFalse(collectionTerminated);
if (rarely()) {
@@ -76,7 +73,7 @@ public class TestEarlyTermination extend
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
if (random().nextBoolean()) {
collectionTerminated = true;
throw new CollectionTerminatedException();
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java Sat Apr 5 09:02:57 2014
@@ -226,7 +226,7 @@ public class TestMultiTermConstantScore
search.setSimilarity(new DefaultSimilarity());
Query q = csrq("data", "1", "6", T, T);
q.setBoost(100);
- search.search(q, null, new Collector() {
+ search.search(q, null, new SimpleCollector() {
private int base = 0;
private Scorer scorer;
@Override
@@ -238,7 +238,7 @@ public class TestMultiTermConstantScore
assertEquals("score for doc " + (doc + base) + " was not correct", 1.0f, scorer.score(), SCORE_COMP_THRESH);
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
base = context.docBase;
}
@Override
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java Sat Apr 5 09:02:57 2014
@@ -22,6 +22,7 @@ import org.apache.lucene.index.RandomInd
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.document.Document;
public class TestPositiveScoresOnlyCollector extends LuceneTestCase {
@@ -78,6 +79,7 @@ public class TestPositiveScoresOnlyColle
Directory directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
+ writer.addDocument(new Document());
writer.commit();
IndexReader ir = writer.getReader();
writer.close();
@@ -86,9 +88,10 @@ public class TestPositiveScoresOnlyColle
Scorer s = new SimpleScorer(fake);
TopDocsCollector<ScoreDoc> tdc = TopScoreDocCollector.create(scores.length, true);
Collector c = new PositiveScoresOnlyCollector(tdc);
- c.setScorer(s);
+ LeafCollector ac = c.getLeafCollector(ir.leaves().get(0));
+ ac.setScorer(s);
while (s.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
- c.collect(0);
+ ac.collect(0);
}
TopDocs td = tdc.topDocs();
ScoreDoc[] sd = td.scoreDocs;
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java Sat Apr 5 09:02:57 2014
@@ -65,7 +65,7 @@ public class TestScoreCachingWrappingSco
}
}
- private static final class ScoreCachingCollector extends Collector {
+ private static final class ScoreCachingCollector extends SimpleCollector {
private int idx = 0;
private Scorer scorer;
@@ -88,9 +88,6 @@ public class TestScoreCachingWrappingSco
++idx;
}
- @Override public void setNextReader(AtomicReaderContext context) {
- }
-
@Override public void setScorer(Scorer scorer) {
this.scorer = new ScoreCachingWrappingScorer(scorer);
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java Sat Apr 5 09:02:57 2014
@@ -97,13 +97,10 @@ public class TestScorerPerf extends Luce
return sets;
}
- public static class CountingHitCollector extends Collector {
+ public static class CountingHitCollector extends SimpleCollector {
int count=0;
int sum=0;
protected int docBase = 0;
-
- @Override
- public void setScorer(Scorer scorer) throws IOException {}
@Override
public void collect(int doc) {
@@ -115,7 +112,7 @@ public class TestScorerPerf extends Luce
public int getSum() { return sum; }
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
docBase = context.docBase;
}
@Override
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java Sat Apr 5 09:02:57 2014
@@ -76,7 +76,7 @@ public class TestSimilarity extends Luce
Term b = new Term("field", "b");
Term c = new Term("field", "c");
- searcher.search(new TermQuery(b), new Collector() {
+ searcher.search(new TermQuery(b), new SimpleCollector() {
private Scorer scorer;
@Override
public void setScorer(Scorer scorer) {
@@ -86,9 +86,6 @@ public class TestSimilarity extends Luce
public final void collect(int doc) throws IOException {
assertEquals(1.0f, scorer.score(), 0);
}
- @Override
- public void setNextReader(AtomicReaderContext context) {}
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
@@ -98,7 +95,7 @@ public class TestSimilarity extends Luce
bq.add(new TermQuery(a), BooleanClause.Occur.SHOULD);
bq.add(new TermQuery(b), BooleanClause.Occur.SHOULD);
//System.out.println(bq.toString("field"));
- searcher.search(bq, new Collector() {
+ searcher.search(bq, new SimpleCollector() {
private int base = 0;
private Scorer scorer;
@Override
@@ -111,7 +108,7 @@ public class TestSimilarity extends Luce
assertEquals((float)doc+base+1, scorer.score(), 0);
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
base = context.docBase;
}
@Override
@@ -125,7 +122,7 @@ public class TestSimilarity extends Luce
pq.add(c);
//System.out.println(pq.toString("field"));
searcher.search(pq,
- new Collector() {
+ new SimpleCollector() {
private Scorer scorer;
@Override
public void setScorer(Scorer scorer) {
@@ -137,8 +134,6 @@ public class TestSimilarity extends Luce
assertEquals(1.0f, scorer.score(), 0);
}
@Override
- public void setNextReader(AtomicReaderContext context) {}
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
@@ -146,7 +141,7 @@ public class TestSimilarity extends Luce
pq.setSlop(2);
//System.out.println(pq.toString("field"));
- searcher.search(pq, new Collector() {
+ searcher.search(pq, new SimpleCollector() {
private Scorer scorer;
@Override
public void setScorer(Scorer scorer) {
@@ -158,8 +153,6 @@ public class TestSimilarity extends Luce
assertEquals(2.0f, scorer.score(), 0);
}
@Override
- public void setNextReader(AtomicReaderContext context) {}
- @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java Sat Apr 5 09:02:57 2014
@@ -175,7 +175,7 @@ public class TestSloppyPhraseQuery exten
return query;
}
- static class MaxFreqCollector extends Collector {
+ static class MaxFreqCollector extends SimpleCollector {
float max;
int totalHits;
Scorer scorer;
@@ -192,10 +192,6 @@ public class TestSloppyPhraseQuery exten
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return false;
}
@@ -203,7 +199,7 @@ public class TestSloppyPhraseQuery exten
/** checks that no scores or freqs are infinite */
private void assertSaneScoring(PhraseQuery pq, IndexSearcher searcher) throws Exception {
- searcher.search(pq, new Collector() {
+ searcher.search(pq, new SimpleCollector() {
Scorer scorer;
@Override
@@ -218,11 +214,6 @@ public class TestSloppyPhraseQuery exten
}
@Override
- public void setNextReader(AtomicReaderContext context) {
- // do nothing
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return false;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java Sat Apr 5 09:02:57 2014
@@ -65,10 +65,7 @@ public class TestSubScorerFreqs extends
dir = null;
}
- private static class CountingCollector extends Collector {
- private final Collector other;
- private int docBase;
-
+ private static class CountingCollector extends FilterCollector {
public final Map<Integer, Map<Query, Float>> docCounts = new HashMap<>();
private final Map<Query, Scorer> subScorers = new HashMap<>();
@@ -79,16 +76,9 @@ public class TestSubScorerFreqs extends
}
public CountingCollector(Collector other, Set<String> relationships) {
- this.other = other;
+ super(other);
this.relationships = relationships;
}
-
- @Override
- public void setScorer(Scorer scorer) throws IOException {
- other.setScorer(scorer);
- subScorers.clear();
- setSubScorers(scorer, "TOP");
- }
public void setSubScorers(Scorer scorer, String relationship) {
for (ChildScorer child : scorer.getChildren()) {
@@ -98,30 +88,34 @@ public class TestSubScorerFreqs extends
}
subScorers.put(scorer.getWeight().getQuery(), scorer);
}
-
- @Override
- public void collect(int doc) throws IOException {
- final Map<Query, Float> freqs = new HashMap<>();
- for (Map.Entry<Query, Scorer> ent : subScorers.entrySet()) {
- Scorer value = ent.getValue();
- int matchId = value.docID();
- freqs.put(ent.getKey(), matchId == doc ? value.freq() : 0.0f);
- }
- docCounts.put(doc + docBase, freqs);
- other.collect(doc);
- }
-
- @Override
- public void setNextReader(AtomicReaderContext context)
+
+ public LeafCollector getLeafCollector(AtomicReaderContext context)
throws IOException {
- docBase = context.docBase;
- other.setNextReader(context);
+ final int docBase = context.docBase;
+ return new FilterLeafCollector(super.getLeafCollector(context)) {
+
+ @Override
+ public void collect(int doc) throws IOException {
+ final Map<Query, Float> freqs = new HashMap<Query, Float>();
+ for (Map.Entry<Query, Scorer> ent : subScorers.entrySet()) {
+ Scorer value = ent.getValue();
+ int matchId = value.docID();
+ freqs.put(ent.getKey(), matchId == doc ? value.freq() : 0.0f);
+ }
+ docCounts.put(doc + docBase, freqs);
+ super.collect(doc);
+ }
+
+ @Override
+ public void setScorer(Scorer scorer) throws IOException {
+ super.setScorer(scorer);
+ subScorers.clear();
+ setSubScorers(scorer, "TOP");
+ }
+
+ };
}
- @Override
- public boolean acceptsDocsOutOfOrder() {
- return other.acceptsDocsOutOfOrder();
- }
}
private static final float FLOAT_TOLERANCE = 0.00001F;
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java Sat Apr 5 09:02:57 2014
@@ -84,7 +84,7 @@ public class TestTermScorer extends Luce
final List<TestHit> docs = new ArrayList<>();
// must call next first
- ts.score(new Collector() {
+ ts.score(new SimpleCollector() {
private int base = 0;
private Scorer scorer;
@@ -104,7 +104,7 @@ public class TestTermScorer extends Luce
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
base = context.docBase;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java Sat Apr 5 09:02:57 2014
@@ -307,7 +307,7 @@ public class TestTimeLimitingCollector e
}
// counting collector that can slow down at collect().
- private class MyHitCollector extends Collector {
+ private class MyHitCollector extends SimpleCollector {
private final BitSet bits = new BitSet();
private int slowdown = 0;
private int lastDocCollected = -1;
@@ -349,7 +349,7 @@ public class TestTimeLimitingCollector e
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
docBase = context.docBase;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java Sat Apr 5 09:02:57 2014
@@ -61,7 +61,7 @@ public class TestTopDocsCollector extend
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
base = context.docBase;
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java Sat Apr 5 09:02:57 2014
@@ -22,6 +22,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.NoSuchFileException;
import java.util.Arrays;
+import java.util.Collections;
import org.apache.lucene.store.MockDirectoryWrapper.Throttling;
import org.apache.lucene.util.LuceneTestCase;
@@ -288,5 +289,34 @@ public class TestDirectory extends Lucen
TestUtil.rm(path);
}
}
+
+ public void testFsyncDoesntCreateNewFiles() throws Exception {
+ File path = TestUtil.getTempDir("nocreate");
+ Directory fsdir = new SimpleFSDirectory(path);
+
+ // write a file
+ IndexOutput out = fsdir.createOutput("afile", newIOContext(random()));
+ out.writeString("boo");
+ out.close();
+
+ // delete it
+ assertTrue(new File(path, "afile").delete());
+
+ // directory is empty
+ assertEquals(0, fsdir.listAll().length);
+
+ // fsync it
+ try {
+ fsdir.sync(Collections.singleton("afile"));
+ fail("didn't get expected exception, instead fsync created new files: " + Arrays.asList(fsdir.listAll()));
+ } catch (FileNotFoundException | NoSuchFileException expected) {
+ // ok
+ }
+
+ // directory is still empty
+ assertEquals(0, fsdir.listAll().length);
+
+ fsdir.close();
+ }
}
Modified: lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestFailIfUnreferencedFiles.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestFailIfUnreferencedFiles.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestFailIfUnreferencedFiles.java (original)
+++ lucene/dev/branches/solr5914/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestFailIfUnreferencedFiles.java Sat Apr 5 09:02:57 2014
@@ -22,15 +22,14 @@ import java.util.Collections;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.store.MockDirectoryWrapper;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
-
import com.carrotsearch.randomizedtesting.RandomizedTest;
// LUCENE-4456: Test that we fail if there are unreferenced files
@@ -41,7 +40,8 @@ public class TestFailIfUnreferencedFiles
public static class Nested1 extends WithNestedTests.AbstractNestedTest {
public void testDummy() throws Exception {
- Directory dir = newMockDirectory();
+ MockDirectoryWrapper dir = newMockDirectory();
+ dir.setAssertNoUnrefencedFilesOnClose(true);
IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, null));
iw.addDocument(new Document());
iw.close();
Modified: lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java (original)
+++ lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java Sat Apr 5 09:02:57 2014
@@ -26,6 +26,7 @@ import org.apache.lucene.facet.sortedset
import org.apache.lucene.facet.sortedset.SortedSetDocValuesReaderState;
import org.apache.lucene.facet.taxonomy.FastTaxonomyFacetCounts;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Collector;
@@ -238,7 +239,7 @@ public class DrillSideways {
* default is false. Note that if you return true from
* this method (in a subclass) be sure your collector
* also returns false from {@link
- * Collector#acceptsDocsOutOfOrder}: this will trick
+ * LeafCollector#acceptsDocsOutOfOrder}: this will trick
* {@code BooleanQuery} into also scoring all subDocs at
* once. */
protected boolean scoreSubDocsAtOnce() {
Modified: lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java (original)
+++ lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java Sat Apr 5 09:02:57 2014
@@ -23,6 +23,7 @@ import java.util.Collections;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DocsEnum;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.Scorer;
@@ -36,6 +37,7 @@ class DrillSidewaysScorer extends BulkSc
//private static boolean DEBUG = false;
private final Collector drillDownCollector;
+ private LeafCollector drillDownLeafCollector;
private final DocsAndCost[] dims;
@@ -62,7 +64,7 @@ class DrillSidewaysScorer extends BulkSc
}
@Override
- public boolean score(Collector collector, int maxDoc) throws IOException {
+ public boolean score(LeafCollector collector, int maxDoc) throws IOException {
if (maxDoc != Integer.MAX_VALUE) {
throw new IllegalArgumentException("maxDoc must be Integer.MAX_VALUE");
}
@@ -73,12 +75,14 @@ class DrillSidewaysScorer extends BulkSc
FakeScorer scorer = new FakeScorer();
collector.setScorer(scorer);
if (drillDownCollector != null) {
- drillDownCollector.setScorer(scorer);
- drillDownCollector.setNextReader(context);
+ drillDownLeafCollector = drillDownCollector.getLeafCollector(context);
+ drillDownLeafCollector.setScorer(scorer);
+ } else {
+ drillDownLeafCollector = null;
}
for (DocsAndCost dim : dims) {
- dim.sidewaysCollector.setScorer(scorer);
- dim.sidewaysCollector.setNextReader(context);
+ dim.sidewaysLeafCollector = dim.sidewaysCollector.getLeafCollector(context);
+ dim.sidewaysLeafCollector.setScorer(scorer);
}
// TODO: if we ever allow null baseScorer ... it will
@@ -100,10 +104,10 @@ class DrillSidewaysScorer extends BulkSc
final int numDims = dims.length;
Bits[] bits = new Bits[numBits];
- Collector[] bitsSidewaysCollectors = new Collector[numBits];
+ LeafCollector[] bitsSidewaysCollectors = new LeafCollector[numBits];
DocIdSetIterator[] disis = new DocIdSetIterator[numDims-numBits];
- Collector[] sidewaysCollectors = new Collector[numDims-numBits];
+ LeafCollector[] sidewaysCollectors = new LeafCollector[numDims-numBits];
long drillDownCost = 0;
int disiUpto = 0;
int bitsUpto = 0;
@@ -111,14 +115,14 @@ class DrillSidewaysScorer extends BulkSc
DocIdSetIterator disi = dims[dim].disi;
if (dims[dim].bits == null) {
disis[disiUpto] = disi;
- sidewaysCollectors[disiUpto] = dims[dim].sidewaysCollector;
+ sidewaysCollectors[disiUpto] = dims[dim].sidewaysLeafCollector;
disiUpto++;
if (disi != null) {
drillDownCost += disi.cost();
}
} else {
bits[bitsUpto] = dims[dim].bits;
- bitsSidewaysCollectors[bitsUpto] = dims[dim].sidewaysCollector;
+ bitsSidewaysCollectors[bitsUpto] = dims[dim].sidewaysLeafCollector;
bitsUpto++;
}
}
@@ -154,15 +158,15 @@ class DrillSidewaysScorer extends BulkSc
* (i.e., like BooleanScorer2, not BooleanScorer). In
* this case we just .next() on base and .advance() on
* the dim filters. */
- private void doQueryFirstScoring(Collector collector, DocIdSetIterator[] disis, Collector[] sidewaysCollectors,
- Bits[] bits, Collector[] bitsSidewaysCollectors) throws IOException {
+ private void doQueryFirstScoring(LeafCollector collector, DocIdSetIterator[] disis, LeafCollector[] sidewaysCollectors,
+ Bits[] bits, LeafCollector[] bitsSidewaysCollectors) throws IOException {
//if (DEBUG) {
// System.out.println(" doQueryFirstScoring");
//}
int docID = baseScorer.docID();
nextDoc: while (docID != DocsEnum.NO_MORE_DOCS) {
- Collector failedCollector = null;
+ LeafCollector failedCollector = null;
for (int i=0;i<disis.length;i++) {
// TODO: should we sort this 2nd dimension of
// docsEnums from most frequent to least?
@@ -225,7 +229,7 @@ class DrillSidewaysScorer extends BulkSc
/** Used when drill downs are highly constraining vs
* baseQuery. */
- private void doDrillDownAdvanceScoring(Collector collector, DocIdSetIterator[] disis, Collector[] sidewaysCollectors) throws IOException {
+ private void doDrillDownAdvanceScoring(LeafCollector collector, DocIdSetIterator[] disis, LeafCollector[] sidewaysCollectors) throws IOException {
final int maxDoc = context.reader().maxDoc();
final int numDims = dims.length;
@@ -423,7 +427,7 @@ class DrillSidewaysScorer extends BulkSc
}
}
- private void doUnionScoring(Collector collector, DocIdSetIterator[] disis, Collector[] sidewaysCollectors) throws IOException {
+ private void doUnionScoring(LeafCollector collector, DocIdSetIterator[] disis, LeafCollector[] sidewaysCollectors) throws IOException {
//if (DEBUG) {
// System.out.println(" doUnionScoring");
//}
@@ -569,14 +573,14 @@ class DrillSidewaysScorer extends BulkSc
}
}
- private void collectHit(Collector collector, Collector[] sidewaysCollectors) throws IOException {
+ private void collectHit(LeafCollector collector, LeafCollector[] sidewaysCollectors) throws IOException {
//if (DEBUG) {
// System.out.println(" hit");
//}
collector.collect(collectDocID);
if (drillDownCollector != null) {
- drillDownCollector.collect(collectDocID);
+ drillDownLeafCollector.collect(collectDocID);
}
// TODO: we could "fix" faceting of the sideways counts
@@ -589,14 +593,14 @@ class DrillSidewaysScorer extends BulkSc
}
}
- private void collectHit(Collector collector, Collector[] sidewaysCollectors, Collector[] sidewaysCollectors2) throws IOException {
+ private void collectHit(LeafCollector collector, LeafCollector[] sidewaysCollectors, LeafCollector[] sidewaysCollectors2) throws IOException {
//if (DEBUG) {
// System.out.println(" hit");
//}
collector.collect(collectDocID);
if (drillDownCollector != null) {
- drillDownCollector.collect(collectDocID);
+ drillDownLeafCollector.collect(collectDocID);
}
// TODO: we could "fix" faceting of the sideways counts
@@ -612,7 +616,7 @@ class DrillSidewaysScorer extends BulkSc
}
}
- private void collectNearMiss(Collector sidewaysCollector) throws IOException {
+ private void collectNearMiss(LeafCollector sidewaysCollector) throws IOException {
//if (DEBUG) {
// System.out.println(" missingDim=" + dim);
//}
@@ -620,8 +624,6 @@ class DrillSidewaysScorer extends BulkSc
}
private final class FakeScorer extends Scorer {
- float score;
- int doc;
public FakeScorer() {
super(null);
@@ -674,6 +676,7 @@ class DrillSidewaysScorer extends BulkSc
// Random access bits:
Bits bits;
Collector sidewaysCollector;
+ LeafCollector sidewaysLeafCollector;
String dim;
@Override
Modified: lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java Sat Apr 5 09:02:57 2014
@@ -32,6 +32,7 @@ import org.apache.lucene.search.MultiCol
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.TopDocsCollector;
@@ -47,7 +48,7 @@ import org.apache.lucene.util.FixedBitSe
* counting. Use the {@code search} utility methods to
* perform an "ordinary" search but also collect into a
* {@link Collector}. */
-public class FacetsCollector extends Collector {
+public class FacetsCollector extends SimpleCollector {
private AtomicReaderContext context;
private Scorer scorer;
@@ -151,7 +152,7 @@ public class FacetsCollector extends Col
return matchingDocs;
}
-
+
@Override
public final boolean acceptsDocsOutOfOrder() {
// If we are keeping scores then we require in-order
@@ -180,7 +181,7 @@ public class FacetsCollector extends Col
}
@Override
- public final void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
if (docs != null) {
matchingDocs.add(new MatchingDocs(this.context, docs.getDocIdSet(), totalHits, scores));
}
Modified: lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java Sat Apr 5 09:02:57 2014
@@ -20,14 +20,13 @@ package org.apache.lucene.facet;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lucene.index.AtomicReaderContext;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.Scorer.ChildScorer;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Scorer.ChildScorer;
+import org.apache.lucene.search.SimpleCollector;
/** Verifies in collect() that all child subScorers are on
* the collected doc. */
-class AssertingSubDocsAtOnceCollector extends Collector {
+class AssertingSubDocsAtOnceCollector extends SimpleCollector {
// TODO: allow wrapping another Collector
@@ -57,10 +56,6 @@ class AssertingSubDocsAtOnceCollector ex
}
@Override
- public void setNextReader(AtomicReaderContext context) {
- }
-
- @Override
public boolean acceptsDocsOutOfOrder() {
return false;
}
Modified: lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java (original)
+++ lucene/dev/branches/solr5914/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java Sat Apr 5 09:02:57 2014
@@ -43,6 +43,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.Filter;
@@ -51,6 +52,7 @@ import org.apache.lucene.search.MatchAll
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
@@ -666,21 +668,17 @@ public class TestDrillSideways extends F
// had an AssertingScorer it could catch it when
// Weight.scoresDocsOutOfOrder lies!:
new DrillSideways(s, config, tr).search(ddq,
- new Collector() {
+ new SimpleCollector() {
int lastDocID;
@Override
- public void setScorer(Scorer s) {
- }
-
- @Override
public void collect(int doc) {
assert doc > lastDocID;
lastDocID = doc;
}
@Override
- public void setNextReader(AtomicReaderContext context) {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
lastDocID = -1;
}
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java Sat Apr 5 09:02:57 2014
@@ -17,20 +17,20 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.util.FixedBitSet;
-
import java.io.IOException;
import java.util.Collection;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.util.FixedBitSet;
+
/**
* This collector specializes in collecting the most relevant document (group head) for each group that match the query.
*
* @lucene.experimental
*/
@SuppressWarnings({"unchecked","rawtypes"})
-public abstract class AbstractAllGroupHeadsCollector<GH extends AbstractAllGroupHeadsCollector.GroupHead> extends Collector {
+public abstract class AbstractAllGroupHeadsCollector<GH extends AbstractAllGroupHeadsCollector.GroupHead> extends SimpleCollector {
protected final int[] reversed;
protected final int compIDXEnd;
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java Sat Apr 5 09:02:57 2014
@@ -17,13 +17,13 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.util.BytesRef;
-
import java.io.IOException;
import java.util.Collection;
+import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.util.BytesRef;
+
/**
* A collector that collects all groups that match the
* query. Only the group value is collected, and the order
@@ -36,7 +36,7 @@ import java.util.Collection;
*
* @lucene.experimental
*/
-public abstract class AbstractAllGroupsCollector<GROUP_VALUE_TYPE> extends Collector {
+public abstract class AbstractAllGroupsCollector<GROUP_VALUE_TYPE> extends SimpleCollector {
/**
* Returns the total number of groups for the executed search.
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java Sat Apr 5 09:02:57 2014
@@ -17,18 +17,18 @@ package org.apache.lucene.search.groupin
* limitations under the License.
*/
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.Scorer;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
-import java.io.IOException;
-import java.util.*;
+import org.apache.lucene.search.SimpleCollector;
/**
* A second pass grouping collector that keeps track of distinct values for a specified field for the top N group.
*
* @lucene.experimental
*/
-public abstract class AbstractDistinctValuesCollector<GC extends AbstractDistinctValuesCollector.GroupCount<?>> extends Collector {
+public abstract class AbstractDistinctValuesCollector<GC extends AbstractDistinctValuesCollector.GroupCount<?>> extends SimpleCollector {
/**
* Returns all unique values for each top N group.
@@ -42,10 +42,6 @@ public abstract class AbstractDistinctVa
return true;
}
- @Override
- public void setScorer(Scorer scorer) throws IOException {
- }
-
/**
* Returned by {@link AbstractDistinctValuesCollector#getGroups()},
* representing the value and set of distinct values for the group.
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -33,7 +33,7 @@ import java.util.*;
*
* @lucene.experimental
*/
-abstract public class AbstractFirstPassGroupingCollector<GROUP_VALUE_TYPE> extends Collector {
+abstract public class AbstractFirstPassGroupingCollector<GROUP_VALUE_TYPE> extends SimpleCollector {
private final Sort groupSort;
private final FieldComparator<?>[] comparators;
@@ -326,7 +326,7 @@ abstract public class AbstractFirstPassG
}
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
docBase = readerContext.docBase;
for (int i=0; i<comparators.length; i++) {
comparators[i] = comparators[i].setNextReader(readerContext);
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java Sat Apr 5 09:02:57 2014
@@ -19,6 +19,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.PriorityQueue;
@@ -30,7 +31,7 @@ import java.util.*;
*
* @lucene.experimental
*/
-public abstract class AbstractGroupFacetCollector extends Collector {
+public abstract class AbstractGroupFacetCollector extends SimpleCollector {
protected final String groupField;
protected final String facetField;
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -37,7 +37,7 @@ import java.util.Map;
*
* @lucene.experimental
*/
-public abstract class AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE> extends Collector {
+public abstract class AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE> extends SimpleCollector {
protected final Map<GROUP_VALUE_TYPE, SearchGroupDocs<GROUP_VALUE_TYPE>> groupMap;
private final int maxDocsPerGroup;
@@ -107,10 +107,10 @@ public abstract class AbstractSecondPass
protected abstract SearchGroupDocs<GROUP_VALUE_TYPE> retrieveGroup(int doc) throws IOException;
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
//System.out.println("SP.setNextReader");
for (SearchGroupDocs<GROUP_VALUE_TYPE> group : groupMap.values()) {
- group.collector.setNextReader(readerContext);
+ group.collector.getLeafCollector(readerContext);
}
}
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -55,7 +55,7 @@ import org.apache.lucene.util.PriorityQu
* @lucene.experimental
*/
-public class BlockGroupingCollector extends Collector {
+public class BlockGroupingCollector extends SimpleCollector {
private int[] pendingSubDocs;
private float[] pendingSubScores;
@@ -350,7 +350,7 @@ public class BlockGroupingCollector exte
}
collector.setScorer(fakeScorer);
- collector.setNextReader(og.readerContext);
+ collector.getLeafCollector(og.readerContext);
for(int docIDX=0;docIDX<og.count;docIDX++) {
final int doc = og.docs[docIDX];
fakeScorer.doc = doc;
@@ -516,7 +516,7 @@ public class BlockGroupingCollector exte
}
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
if (subDocUpto != 0) {
processGroup();
}
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java Sat Apr 5 09:02:57 2014
@@ -20,6 +20,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Sort;
@@ -101,7 +102,7 @@ public class FunctionAllGroupHeadsCollec
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
this.readerContext = context;
FunctionValues values = groupBy.getValues(vsContext, context);
filler = values.getValueFiller();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java Sat Apr 5 09:02:57 2014
@@ -20,6 +20,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.grouping.AbstractAllGroupsCollector;
import org.apache.lucene.util.mutable.MutableValue;
@@ -75,7 +76,7 @@ public class FunctionAllGroupsCollector
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
FunctionValues values = groupBy.getValues(vsContext, context);
filler = values.getValueFiller();
mval = filler.getValue();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java Sat Apr 5 09:02:57 2014
@@ -20,6 +20,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.grouping.AbstractDistinctValuesCollector;
import org.apache.lucene.search.grouping.SearchGroup;
import org.apache.lucene.util.mutable.MutableValue;
@@ -70,7 +71,7 @@ public class FunctionDistinctValuesColle
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
FunctionValues values = groupSource.getValues(vsContext, context);
groupFiller = values.getValueFiller();
groupMval = groupFiller.getValue();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -20,6 +20,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.grouping.AbstractFirstPassGroupingCollector;
import org.apache.lucene.util.mutable.MutableValue;
@@ -77,8 +78,8 @@ public class FunctionFirstPassGroupingCo
}
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
- super.setNextReader(readerContext);
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
+ super.doSetNextReader(readerContext);
FunctionValues values = groupByVS.getValues(vsContext, readerContext);
filler = values.getValueFiller();
mval = filler.getValue();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -20,6 +20,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.grouping.AbstractSecondPassGroupingCollector;
import org.apache.lucene.search.grouping.SearchGroup;
@@ -71,8 +72,8 @@ public class FunctionSecondPassGroupingC
}
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
- super.setNextReader(readerContext);
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
+ super.doSetNextReader(readerContext);
FunctionValues values = groupByVS.getValues(vsContext, readerContext);
filler = values.getValueFiller();
mval = filler.getValue();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java Sat Apr 5 09:02:57 2014
@@ -19,6 +19,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.Scorer;
@@ -158,7 +159,7 @@ public abstract class TermAllGroupHeadsC
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
this.readerContext = context;
groupIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
@@ -273,7 +274,7 @@ public abstract class TermAllGroupHeadsC
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
this.readerContext = context;
groupIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
for (int i = 0; i < fields.length; i++) {
@@ -441,7 +442,7 @@ public abstract class TermAllGroupHeadsC
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
this.readerContext = context;
groupIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
for (int i = 0; i < fields.length; i++) {
@@ -584,7 +585,7 @@ public abstract class TermAllGroupHeadsC
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
this.readerContext = context;
groupIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java Sat Apr 5 09:02:57 2014
@@ -19,6 +19,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.grouping.AbstractAllGroupsCollector;
import org.apache.lucene.util.BytesRef;
@@ -103,7 +104,7 @@ public class TermAllGroupsCollector exte
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
index = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
// Clear ordSet and fill it with previous encountered groups that can occur in the current segment.
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java Sat Apr 5 09:02:57 2014
@@ -19,6 +19,7 @@ package org.apache.lucene.search.groupin
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.grouping.AbstractDistinctValuesCollector;
import org.apache.lucene.search.grouping.SearchGroup;
@@ -107,7 +108,7 @@ public class TermDistinctValuesCollector
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
groupFieldTermIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), groupField);
countFieldTermIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), countField);
ordSet.clear();
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java Sat Apr 5 09:02:57 2014
@@ -21,6 +21,7 @@ import java.io.IOException;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.grouping.AbstractFirstPassGroupingCollector;
@@ -85,8 +86,8 @@ public class TermFirstPassGroupingCollec
}
@Override
- public void setNextReader(AtomicReaderContext readerContext) throws IOException {
- super.setNextReader(readerContext);
+ protected void doSetNextReader(AtomicReaderContext readerContext) throws IOException {
+ super.doSetNextReader(readerContext);
index = FieldCache.DEFAULT.getTermsIndex(readerContext.reader(), groupField);
}
}
Modified: lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java?rev=1585024&r1=1585023&r2=1585024&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java (original)
+++ lucene/dev/branches/solr5914/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java Sat Apr 5 09:02:57 2014
@@ -21,6 +21,7 @@ import org.apache.lucene.index.AtomicRea
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.grouping.AbstractGroupFacetCollector;
import org.apache.lucene.util.BytesRef;
@@ -122,7 +123,7 @@ public abstract class TermGroupFacetColl
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
if (segmentFacetCounts != null) {
segmentResults.add(createSegmentResult());
}
@@ -277,7 +278,7 @@ public abstract class TermGroupFacetColl
}
@Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
+ protected void doSetNextReader(AtomicReaderContext context) throws IOException {
if (segmentFacetCounts != null) {
segmentResults.add(createSegmentResult());
}