List of usage examples for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS
int NO_MORE_DOCS
To view the source code for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.
Click Source Link
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); }