docBuffer.set(id); fillSize++;
result.set(termDocs.doc());
public void handleDoc(int doc) { bitSet.set(doc); } }.generate(reader);
public void add(int doc) { bits.set(doc); size=-1; // invalidate size }
@Override public final void collect(int doc, float score) { bits.set(doc); // set bit for hit } });
@Override public final void collect(int doc, float score) { bits.set(doc); // set bit for hit } });
public void addUnique(int doc) { bits.set(doc); size=-1; // invalidate size }
public void handleDoc(int doc) { bitSet.set(doc); } }.generate(reader);
public void handleDoc(int doc) { bitSet.set(doc); } }.generate(reader);
private OpenBitSet initBitSet(IndexReader indexReader, int maxDoc) { OpenBitSet bitSet = (OpenBitSet) deletedBitSets.get(indexReader); if (bitSet == null) { // TODO we can implement our own DocIdSet for marked deleted ones bitSet = new OpenBitSet(maxDoc); bitSet.set(0, maxDoc); deletedBitSets.put(indexReader, bitSet); allBitSets.remove(indexReader); } return bitSet; }
@Override public void collect(int doc) throws IOException { super.collect(doc); bits.set(doc + docBase); }
public void documentCollapsed(int docId, CollapseGroup collapseGroup, CollapseContext collapseContext) { OpenBitSet bitSet = collapsedDocumentsByFieldValue.get(collapseGroup); if (bitSet == null) { collapsedDocumentsByFieldValue.put(collapseGroup, bitSet = new OpenBitSet()); } // We cannot use fastset because we do not know the size upfront. // The set method is more expensive than fastset, but that is the best for now. // Setting bitSet to maxDoc may increase the memory footprint dramatically, because for each distinct fieldvalue // there is a bitset bitSet.set(docId); }
private Set<Match> createMatches(long docIdsKey) { IntsRef docIds = lookupDocIds(docIdsKey); Set<Match> matches = new HashSet<Match>(docIds.length); for (int i = docIds.offset; i < docIds.offset + docIds.length; i++) { int docId = docIds.ints[i]; matchDocIdsBS.set(docId);// also, flip docid in bitset matches.add(session.createMatch(docId));// translates here } return matches; }
private void makeVisible(TermsEnum iterator, OpenBitSet bitSet, Bits liveDocs, boolean visible) throws IOException { DocsEnum docsEnum = iterator.docs(liveDocs, null); int doc; while ((doc = docsEnum.nextDoc()) != DocsEnum.NO_MORE_DOCS) { if (visible) { bitSet.set(doc); } else { bitSet.clear(doc); } } }
private void makeVisible(TermsEnum iterator, OpenBitSet bitSet, Bits liveDocs, boolean visible) throws IOException { DocsEnum docsEnum = iterator.docs(liveDocs, null); int doc; while ((doc = docsEnum.nextDoc()) != DocsEnum.NO_MORE_DOCS) { if (visible) { bitSet.set(doc); } else { bitSet.clear(doc); } } }
private void makeVisible(TermsEnum iterator, OpenBitSet bitSet, Bits liveDocs, boolean visible) throws IOException { DocsEnum docsEnum = iterator.docs(liveDocs, null); int doc; while ((doc = docsEnum.nextDoc()) != DocsEnum.NO_MORE_DOCS) { if (visible) { bitSet.set(doc); } else { bitSet.clear(doc); } } }
private void makeVisible(TermsEnum iterator, OpenBitSet bitSet, Bits liveDocs, boolean visible) throws IOException { DocsEnum docsEnum = iterator.docs(liveDocs, null); int doc; while ((doc = docsEnum.nextDoc()) != DocsEnum.NO_MORE_DOCS) { if (visible) { bitSet.set(doc); } else { bitSet.clear(doc); } } }
@Override public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException { AtomicReader reader = context.reader(); OpenBitSet result = new OpenBitSet(reader.maxDoc()); result.set(0, reader.maxDoc()); return result; } }
/** * Inefficient base implementation. * * @see BitDocSet#getBits */ public OpenBitSet getBits() { OpenBitSet bits = new OpenBitSet(); for (DocIterator iter = iterator(); iter.hasNext();) { bits.set(iter.nextDoc()); } return bits; };
@Override public DocSet union(DocSet other) { OpenBitSet newbits = (OpenBitSet)(bits.clone()); if (other instanceof BitDocSet) { newbits.union(((BitDocSet)other).bits); } else { DocIterator iter = other.iterator(); while (iter.hasNext()) newbits.set(iter.nextDoc()); } return new BitDocSet(newbits); }