Fix bug in classed group queries
Change-Id: Ie7713203ecca31ce06d535054608fca3c4d445e5
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ElementDistanceExclusionSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ElementDistanceExclusionSpans.java
index 1c5ebdc..a5adc05 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ElementDistanceExclusionSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ElementDistanceExclusionSpans.java
@@ -10,8 +10,10 @@
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
import org.apache.lucene.search.spans.Spans;
+import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.util.Bits;
+
import de.ids_mannheim.korap.query.SpanDistanceQuery;
/**
@@ -68,7 +70,7 @@
Map<Term, TermContext> termContexts)
throws IOException {
super(query, context, acceptDocs, termContexts);
-
+
elements = query.getElementQuery().getSpans(context, acceptDocs,
termContexts);
hasMoreElements = elements.next();
@@ -79,7 +81,11 @@
this.isOrdered = query.isOrdered();
candidateList = new ArrayList<CandidateSpan>();
targetList = new ArrayList<CandidateSpan>();
- currentDocNum = firstSpans.doc();
+
+ if (hasMoreSpans)
+ currentDocNum = firstSpans.doc();
+ else
+ currentDocNum = DocIdSetIterator.NO_MORE_DOCS;
minDistance = query.getMinDistance();
maxDistance = query.getMaxDistance();