@Override public I_IterateIds iterator() { return new NidIterator(bitSet.iterator()); }
private void calculateScores() throws IOException { // initialize buffers OpenBitSet docPointers = new OpenBitSet(reader.maxDoc()); TermPositions tp = null; List<Term> uniqueTerms = new LinkedList<Term>(new LinkedHashSet<Term>(terms)); uniqueTermSize = uniqueTerms.size(); this.roughThresholdFreq = (int) (uniqueTermSize * ROUGH_CUTOFF); for (Iterator<Term> iter = uniqueTerms.iterator(); iter.hasNext();) { try { tp = reader.termPositions(iter.next()); while (tp.next()) { int f = scoredDocs.adjustOrPutValue(tp.doc(), 1, 1); if (f > roughThresholdFreq) { docPointers.fastSet(tp.doc()); } } } finally { if (tp != null) { tp.close(); } } } if (docPointers.cardinality() > 0) { docPointerIterator = (OpenBitSetIterator) docPointers.iterator(); } }
private void calculateScores() throws IOException { // initialize buffers OpenBitSet docPointers = new OpenBitSet(reader.maxDoc()); TermPositions tp = null; List<Term> uniqueTerms = new LinkedList<Term>(new LinkedHashSet<Term>(terms)); uniqueTermSize = uniqueTerms.size(); roughThresholdFreq = (int) (uniqueTermSize * (threshold*0.01f)); for (Iterator<Term> iter = uniqueTerms.iterator(); iter.hasNext();) { try { tp = reader.termPositions(iter.next()); while (tp.next()) { int f = scoredDocs.adjustOrPutValue(tp.doc(), 1, 1); if (f > roughThresholdFreq) { docPointers.fastSet(tp.doc()); } } } finally { if (tp != null) { tp.close(); } } } if (docPointers.cardinality() > 0) { docPointerIterator = (OpenBitSetIterator) docPointers.iterator(); } }
OpenBitSet bitSet = collapsedDocumentsByFieldValue.get(collapseGroup); SolrDocumentList documentList = new SolrDocumentList(); for (DocIdSetIterator iterator = bitSet.iterator(); iterator.nextDoc() != DocIdSetIterator.NO_MORE_DOCS;) { Document luceneDocument = searcher.doc(iterator.docID(), includeCollapsedDocumentsFields);