Example usage for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS

List of usage examples for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS

Introduction

In this page you can find the example usage for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.

Prototype

int NO_MORE_DOCS

To view the source code for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.

Click Source Link

Document

When returned by #nextDoc() , #advance(int) and #docID() it means there are no more docs in the iterator.

Usage

From source file:nl.inl.blacklab.TestUtil.java

License:Apache License

public static void assertEquals(SpansInBuckets expected, SpansInBuckets actual) throws IOException {
    while (true) {
        int actualDocId = actual.nextDoc();
        Assert.assertEquals(expected.nextDoc(), actualDocId);
        Assert.assertEquals(expected.docID(), actual.docID());
        Assert.assertEquals(actualDocId, actual.docID());
        if (actualDocId == DocIdSetIterator.NO_MORE_DOCS)
            break;
        boolean first = true;
        while (true) {
            int nextBucketRv = actual.nextBucket();
            if (first) {
                // .nextDoc() should always place us in a document with at least 1 bucket
                first = false;/* w w  w .ja v  a  2  s.c  o  m*/
                Assert.assertFalse(nextBucketRv == SpansInBuckets.NO_MORE_BUCKETS);
            }
            Assert.assertEquals(expected.nextBucket(), nextBucketRv);
            if (nextBucketRv == SpansInBuckets.NO_MORE_BUCKETS)
                break;
            Assert.assertFalse(actual.bucketSize() == 0); // no empty buckets
            Assert.assertEquals(expected.bucketSize(), actual.bucketSize());
            for (int i = 0; i < actual.bucketSize(); i++) {
                Assert.assertEquals(expected.startPosition(i), actual.startPosition(i));
                Assert.assertEquals(expected.endPosition(i), actual.endPosition(i));
            }
        }
    }
}

From source file:nl.uva.expose.clustering.FeatureExtraction.java

public Double getSpeechAvgLength(Integer memIndexId) throws IOException {
    Double lengthAvg = 0D;/*  ww w  . j a v a2s.c  o m*/
    int count = 0;
    TermsEnum te = MultiFields.getTerms(this.sireader, "SPEAKERID").iterator(null);
    BytesRef id = new BytesRef(this.mireader.document(memIndexId).get("ID"));
    te.seekExact(id);
    DocsEnum docsEnum = te.docs(null, null);
    int docIdEnum;
    while ((docIdEnum = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
        count++;
        lengthAvg += sInfo.getDocumentLength(docIdEnum, "TEXT");
        //Document doc = sireader.document(docIdEnum);
        //docs.add(doc.get("ID"));
    }
    return lengthAvg / count;
}

From source file:nl.uva.expose.clustering.FeatureExtraction.java

public Double getSpeechNum(Integer memIndexId) throws IOException {
    Long speechNum = 0L;/* w ww.ja  v a2  s  . com*/
    TermsEnum te = MultiFields.getTerms(this.sireader, "SPEAKERID").iterator(null);
    BytesRef id = new BytesRef(this.mireader.document(memIndexId).get("ID"));
    te.seekExact(id);
    DocsEnum docsEnum = te.docs(null, null);
    int docIdEnum;
    while ((docIdEnum = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
        speechNum++;
    }
    int allSpeechNum = this.sireader.numDocs();
    Double normalizedSN = speechNum.doubleValue() / allSpeechNum;
    return normalizedSN;
}

From source file:nl.uva.expose.clustering.FeatureExtraction.java

public Double getDebateNum(Integer memIndexId) throws IOException {

    HashSet<String> debIds = new HashSet<>();
    TermsEnum te = MultiFields.getTerms(this.sireader, "SPEAKERID").iterator(null);
    BytesRef id = new BytesRef(this.mireader.document(memIndexId).get("ID"));
    te.seekExact(id);//from   w  w w .j ava2 s.co  m
    DocsEnum docsEnum = te.docs(null, null);
    int docIdEnum;
    while ((docIdEnum = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
        debIds.add(this.sireader.document(docIdEnum).get("DEBATEID"));
    }
    Double normalizedDN = debIds.size() / allDebNum.doubleValue();
    return normalizedDN;
}

From source file:nl.uva.expose.clustering.FeatureExtraction.java

public Double getActivityRatio(Integer memIndexId) throws IOException {
    Long speechNum = 0L;//from  w  ww . j  a v a 2 s .  c  om
    HashSet<String> debIds = new HashSet<>();
    TermsEnum te = MultiFields.getTerms(this.sireader, "SPEAKERID").iterator(null);
    BytesRef id = new BytesRef(this.mireader.document(memIndexId).get("ID"));
    te.seekExact(id);
    DocsEnum docsEnum = te.docs(null, null);
    int docIdEnum;
    while ((docIdEnum = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
        speechNum++;
        debIds.add(this.sireader.document(docIdEnum).get("DEBATEID"));
    }
    Double ar = debIds.size() / speechNum.doubleValue();
    return ar;
}

From source file:org.apache.blur.lucene.search.PrimeDocCache.java

License:Apache License

/**
 * The way this method is called via warm up methods the likelihood of
 * creating multiple bitsets during a race condition is very low, that's why
 * this method is not synced.// ww w.  j a v  a  2 s  . com
 */
public static OpenBitSet getPrimeDocBitSet(Term primeDocTerm, AtomicReader providedReader) throws IOException {
    AtomicReader reader = AtomicReaderUtil.getSegmentReader(providedReader);
    final Object key = reader.getCoreCacheKey();
    final Map<Object, OpenBitSet> primeDocMap = getPrimeDocMap(primeDocTerm);
    OpenBitSet bitSet = primeDocMap.get(key);
    if (bitSet == null) {
        synchronized (reader) {
            reader.addReaderClosedListener(new ReaderClosedListener() {
                @Override
                public void onClose(IndexReader reader) {
                    LOG.debug("Current size [" + primeDocMap.size()
                            + "] Prime Doc BitSet removing for segment [" + reader + "]");
                    OpenBitSet openBitSet = primeDocMap.remove(key);
                    if (openBitSet == null) {
                        LOG.warn("Primedoc was missing for key [{0}]", key);
                    }
                }
            });
            LOG.debug("Prime Doc BitSet missing for segment [" + reader + "] current size ["
                    + primeDocMap.size() + "]");
            final OpenBitSet bs = new OpenBitSet(reader.maxDoc());
            MemoryLeakDetector.record(bs, "PrimeDoc BitSet", key.toString());

            Fields fields = reader.fields();
            if (fields == null) {
                throw new IOException("Missing all fields.");
            }
            Terms terms = fields.terms(primeDocTerm.field());
            if (terms == null) {
                throw new IOException("Missing prime doc field [" + primeDocTerm.field() + "].");
            }
            TermsEnum termsEnum = terms.iterator(null);
            if (!termsEnum.seekExact(primeDocTerm.bytes(), true)) {
                throw new IOException("Missing prime doc term [" + primeDocTerm + "].");
            }

            DocsEnum docsEnum = termsEnum.docs(null, null);
            int docFreq = reader.docFreq(primeDocTerm);
            int doc;
            int count = 0;
            while ((doc = docsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
                bs.fastSet(doc);
                count++;
            }
            if (count == docFreq) {
                primeDocMap.put(key, bs);
            } else {
                LOG.warn(
                        "PrimeDoc for reader [{0}] not stored, because count [{1}] and freq [{2}] do not match.",
                        reader, count, docFreq);
            }
            return bs;
        }
    }
    return bitSet;
}

From source file:org.apache.blur.utils.TermDocIterable.java

License:Apache License

private boolean getNext() {
    try {/*w  w w  .  j a va2 s .c o m*/
        int next = docsEnum.nextDoc();
        if (next == DocIdSetIterator.NO_MORE_DOCS) {
            return false;
        }
        Bits liveDocs = MultiFields.getLiveDocs(reader);
        if (liveDocs != null) {
            while (!liveDocs.get(docsEnum.docID())) {
                next = docsEnum.nextDoc();
            }
        }
        return next == DocIdSetIterator.NO_MORE_DOCS ? false : true;
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

From source file:org.apache.jackrabbit.core.query.lucene.hits.ScorerHits.java

License:Apache License

/**
 * {@inheritDoc}//w ww .java  2 s.c o  m
 */
public int next() throws IOException {
    int docId = scorer.nextDoc();
    if (docId != DocIdSetIterator.NO_MORE_DOCS) {
        return docId;
    } else {
        return -1;
    }
}

From source file:org.apache.jackrabbit.core.query.lucene.hits.ScorerHits.java

License:Apache License

/**
 * {@inheritDoc}//from  w w  w . ja  va2  s  . c  om
 */
public int skipTo(int target) throws IOException {
    int docId = scorer.advance(target);
    if (docId != DocIdSetIterator.NO_MORE_DOCS) {
        return docId;
    } else {
        return -1;
    }
}

From source file:org.apache.jackrabbit.core.query.lucene.LuceneQueryHits.java

License:Apache License

/**
 * {@inheritDoc}/*from  w w  w .  j  a  v  a 2s. co m*/
 */
public ScoreNode nextScoreNode() throws IOException {
    if (scorer == null) {
        return null;
    }
    int doc = scorer.nextDoc();
    if (doc == DocIdSetIterator.NO_MORE_DOCS) {
        return null;
    }
    NodeId id = new NodeId(reader.document(doc, FieldSelectors.UUID).get(FieldNames.UUID));
    return new ScoreNode(id, scorer.score(), doc);
}