Skip to content

Commit 7213539

Browse files
committed
factor out exists collector
1 parent f8b1a8e commit 7213539

File tree

2 files changed

+54
-56
lines changed

2 files changed

+54
-56
lines changed

modules/elasticsearch/src/main/java/org/elasticsearch/common/lucene/Lucene.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,58 @@ public long count() {
416416
}
417417
}
418418

419+
public static class ExistsCollector extends Collector {
420+
421+
private boolean exists;
422+
423+
public boolean exists() {
424+
return exists;
425+
}
426+
427+
@Override public void setScorer(Scorer scorer) throws IOException {
428+
this.exists = false;
429+
}
430+
431+
@Override public void collect(int doc) throws IOException {
432+
exists = true;
433+
}
434+
435+
@Override public void setNextReader(IndexReader reader, int docBase) throws IOException {
436+
}
437+
438+
@Override public boolean acceptsDocsOutOfOrder() {
439+
return true;
440+
}
441+
}
442+
443+
public static class SingleScoreCollector extends Collector {
444+
445+
private Scorer scorer;
446+
447+
private float score;
448+
449+
public float score() {
450+
return this.score;
451+
}
452+
453+
@Override public void setScorer(Scorer scorer) throws IOException {
454+
this.score = 0;
455+
this.scorer = scorer;
456+
}
457+
458+
@Override public void collect(int doc) throws IOException {
459+
score = scorer.score();
460+
}
461+
462+
@Override public void setNextReader(IndexReader reader, int docBase) throws IOException {
463+
}
464+
465+
@Override public boolean acceptsDocsOutOfOrder() {
466+
return true;
467+
}
468+
}
469+
470+
419471
private Lucene() {
420472

421473
}

modules/elasticsearch/src/main/java/org/elasticsearch/index/percolator/PercolatorService.java

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,16 @@
2121

2222
import org.apache.lucene.analysis.TokenStream;
2323
import org.apache.lucene.document.Fieldable;
24-
import org.apache.lucene.index.IndexReader;
2524
import org.apache.lucene.index.memory.MemoryIndex;
26-
import org.apache.lucene.search.Collector;
2725
import org.apache.lucene.search.IndexSearcher;
2826
import org.apache.lucene.search.Query;
29-
import org.apache.lucene.search.Scorer;
3027
import org.elasticsearch.ElasticSearchException;
3128
import org.elasticsearch.common.collect.ImmutableMap;
3229
import org.elasticsearch.common.collect.MapBuilder;
3330
import org.elasticsearch.common.inject.Inject;
3431
import org.elasticsearch.common.io.FastByteArrayOutputStream;
3532
import org.elasticsearch.common.io.FastStringReader;
33+
import org.elasticsearch.common.lucene.Lucene;
3634
import org.elasticsearch.common.regex.Regex;
3735
import org.elasticsearch.common.settings.Settings;
3836
import org.elasticsearch.index.AbstractIndexComponent;
@@ -196,7 +194,7 @@ public Response percolate(Request request) throws ElasticSearchException {
196194
}
197195
}
198196

199-
ExistsCollector collector = new ExistsCollector();
197+
Lucene.ExistsCollector collector = new Lucene.ExistsCollector();
200198
List<String> matches = new ArrayList<String>();
201199
IndexSearcher searcher = memoryIndex.createSearcher();
202200
for (Map.Entry<String, Query> entry : queries.entrySet()) {
@@ -224,56 +222,4 @@ public Response percolate(Request request) throws ElasticSearchException {
224222

225223
return new Response(matches, doc.mappersAdded());
226224
}
227-
228-
static class ExistsCollector extends Collector {
229-
230-
private boolean exists;
231-
232-
public boolean exists() {
233-
return exists;
234-
}
235-
236-
@Override public void setScorer(Scorer scorer) throws IOException {
237-
this.exists = false;
238-
}
239-
240-
@Override public void collect(int doc) throws IOException {
241-
exists = true;
242-
}
243-
244-
@Override public void setNextReader(IndexReader reader, int docBase) throws IOException {
245-
}
246-
247-
@Override public boolean acceptsDocsOutOfOrder() {
248-
return true;
249-
}
250-
}
251-
252-
253-
static class SingleScoreCollector extends Collector {
254-
255-
private Scorer scorer;
256-
257-
private float score;
258-
259-
public float score() {
260-
return this.score;
261-
}
262-
263-
@Override public void setScorer(Scorer scorer) throws IOException {
264-
this.score = 0;
265-
this.scorer = scorer;
266-
}
267-
268-
@Override public void collect(int doc) throws IOException {
269-
score = scorer.score();
270-
}
271-
272-
@Override public void setNextReader(IndexReader reader, int docBase) throws IOException {
273-
}
274-
275-
@Override public boolean acceptsDocsOutOfOrder() {
276-
return true;
277-
}
278-
}
279225
}

0 commit comments

Comments
 (0)