org.apache.lucene.util.BitSet.nextSetBit()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.3k)|赞(0)|评价(0)|浏览(145)

本文整理了Java中org.apache.lucene.util.BitSet.nextSetBit()方法的一些代码示例,展示了BitSet.nextSetBit()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BitSet.nextSetBit()方法的具体详情如下:
包路径:org.apache.lucene.util.BitSet
类名称:BitSet
方法名:nextSetBit

BitSet.nextSetBit介绍

[英]Returns the index of the first set bit starting at the index specified. DocIdSetIterator#NO_MORE_DOCS is returned if there are no more set bits.
[中]返回从指定索引开始的第一个集合位的索引。DocIdSetIterator#如果没有更多的设置位,则不会返回更多的文档。

代码示例

代码示例来源:origin: org.apache.lucene/lucene-core

  1. @Override
  2. public int advance(int target) {
  3. if (target >= length) {
  4. return doc = NO_MORE_DOCS;
  5. }
  6. return doc = bits.nextSetBit(target);
  7. }

代码示例来源:origin: org.apache.lucene/lucene-core

  1. @Override
  2. public int advance(int target) {
  3. docID = dvs.docsWithField.nextSetBit(target);
  4. return docID;
  5. }

代码示例来源:origin: org.apache.lucene/lucene-core

  1. @Override
  2. public int advance(int target) {
  3. docID = dvs.docsWithField.nextSetBit(target);
  4. return docID;
  5. }

代码示例来源:origin: org.apache.lucene/lucene-core

  1. @Override
  2. public int nextDoc() {
  3. if (docID+1 == dvs.docsWithField.length()) {
  4. docID = NO_MORE_DOCS;
  5. } else {
  6. docID = dvs.docsWithField.nextSetBit(docID+1);
  7. }
  8. return docID;
  9. }

代码示例来源:origin: org.apache.lucene/lucene-core

  1. @Override
  2. public int nextDoc() {
  3. if (docID+1 == dvs.docsWithField.length()) {
  4. docID = NO_MORE_DOCS;
  5. } else {
  6. docID = dvs.docsWithField.nextSetBit(docID+1);
  7. }
  8. return docID;
  9. }

代码示例来源:origin: org.elasticsearch/elasticsearch

  1. @Override
  2. public boolean matches() throws IOException {
  3. // the educated reader might ask why this works, it does because all live doc ids (root docs and nested docs) are evaluated in
  4. // order and that way we don't need to seek backwards as we do in other nested docs cases.
  5. int doc = approximation.docID();
  6. if (doc > nextParent) {
  7. // we only check once per nested/parent set
  8. nextParent = parentDocs.nextSetBit(doc);
  9. // never check a child document against the visitor, they neihter have _id nor _routing as stored fields
  10. nextParentMatches = visitor.matches(nextParent);
  11. }
  12. return nextParentMatches;
  13. }

代码示例来源:origin: org.elasticsearch/elasticsearch

  1. private void markChildDocs(BitSet parentDocs, BitSet matchingDocs) {
  2. int currentDeleted = 0;
  3. while (currentDeleted < matchingDocs.length() &&
  4. (currentDeleted = matchingDocs.nextSetBit(currentDeleted)) != DocIdSetIterator.NO_MORE_DOCS) {
  5. int previousParent = parentDocs.prevSetBit(Math.max(0, currentDeleted-1));
  6. for (int i = previousParent + 1; i < currentDeleted; i++) {
  7. matchingDocs.set(i);
  8. }
  9. currentDeleted++;
  10. }
  11. }

代码示例来源:origin: org.elasticsearch/elasticsearch

  1. @Override
  2. public void collect(int childDoc, long bucket) throws IOException {
  3. // fast forward to retrieve the parentDoc this childDoc belongs to
  4. final int parentDoc = parentDocs.nextSetBit(childDoc);
  5. assert childDoc <= parentDoc && parentDoc != DocIdSetIterator.NO_MORE_DOCS;
  6. int keySlot = bucketOrdToLastCollectedParentDoc.indexOf(bucket);
  7. if (bucketOrdToLastCollectedParentDoc.indexExists(keySlot)) {
  8. int lastCollectedParentDoc = bucketOrdToLastCollectedParentDoc.indexGet(keySlot);
  9. if (parentDoc > lastCollectedParentDoc) {
  10. collectBucket(sub, parentDoc, bucket);
  11. bucketOrdToLastCollectedParentDoc.indexReplace(keySlot, parentDoc);
  12. }
  13. } else {
  14. collectBucket(sub, parentDoc, bucket);
  15. bucketOrdToLastCollectedParentDoc.indexInsert(keySlot, bucket, parentDoc);
  16. }
  17. }
  18. };

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public int advance(int target) {
  3. if (target >= length) {
  4. return doc = NO_MORE_DOCS;
  5. }
  6. return doc = bits.nextSetBit(target);
  7. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

  1. @Override
  2. public int advance(int target) {
  3. docID = dvs.docsWithField.nextSetBit(target);
  4. return docID;
  5. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

  1. @Override
  2. public int advance(int target) {
  3. docID = dvs.docsWithField.nextSetBit(target);
  4. return docID;
  5. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

  1. @Override
  2. public int advance(int target) {
  3. if (target >= length) {
  4. return doc = NO_MORE_DOCS;
  5. }
  6. return doc = bits.nextSetBit(target);
  7. }

代码示例来源:origin: org.infinispan/infinispan-embedded-query

  1. @Override
  2. public int advance(int target) {
  3. if (target >= length) {
  4. return doc = NO_MORE_DOCS;
  5. }
  6. return doc = bits.nextSetBit(target);
  7. }

代码示例来源:origin: org.elasticsearch/elasticsearch

  1. private int findRootDocumentIfNested(SearchContext context, LeafReaderContext subReaderContext, int subDocId) throws IOException {
  2. if (context.mapperService().hasNested()) {
  3. BitSet bits = context.bitsetFilterCache()
  4. .getBitSetProducer(Queries.newNonNestedFilter(context.indexShard().indexSettings().getIndexVersionCreated()))
  5. .getBitSet(subReaderContext);
  6. if (!bits.get(subDocId)) {
  7. return bits.nextSetBit(subDocId);
  8. }
  9. }
  10. return -1;
  11. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

  1. @Override
  2. public int nextDoc() {
  3. if (docID+1 == dvs.docsWithField.length()) {
  4. docID = NO_MORE_DOCS;
  5. } else {
  6. docID = dvs.docsWithField.nextSetBit(docID+1);
  7. }
  8. return docID;
  9. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

  1. @Override
  2. public int nextDoc() {
  3. if (docID+1 == dvs.docsWithField.length()) {
  4. docID = NO_MORE_DOCS;
  5. } else {
  6. docID = dvs.docsWithField.nextSetBit(docID+1);
  7. }
  8. return docID;
  9. }

代码示例来源:origin: org.elasticsearch/elasticsearch

  1. int nextParent = parentBits.nextSetBit(currentParent);
  2. for (int docId = childIter.advance(currentParent + 1); docId < nextParent && docId != DocIdSetIterator.NO_MORE_DOCS;
  3. docId = childIter.nextDoc()) {

代码示例来源:origin: harbby/presto-connectors

  1. private int findRootDocumentIfNested(SearchContext context, LeafReaderContext subReaderContext, int subDocId) throws IOException {
  2. if (context.mapperService().hasNested()) {
  3. BitSet bits = context.bitsetFilterCache().getBitSetProducer(Queries.newNonNestedFilter()).getBitSet(subReaderContext);
  4. if (!bits.get(subDocId)) {
  5. return bits.nextSetBit(subDocId);
  6. }
  7. }
  8. return -1;
  9. }

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

  1. private int findRootDocumentIfNested(SearchContext context, LeafReaderContext subReaderContext, int subDocId) throws IOException {
  2. if (context.mapperService().hasNested()) {
  3. BitSet bits = context.bitsetFilterCache().getBitSetProducer(Queries.newNonNestedFilter()).getBitSet(subReaderContext);
  4. if (!bits.get(subDocId)) {
  5. return bits.nextSetBit(subDocId);
  6. }
  7. }
  8. return -1;
  9. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

  1. private int findRootDocumentIfNested(SearchContext context, LeafReaderContext subReaderContext, int subDocId) throws IOException {
  2. if (context.mapperService().hasNested()) {
  3. BitSet bits = context.bitsetFilterCache()
  4. .getBitSetProducer(Queries.newNonNestedFilter(context.indexShard().indexSettings().getIndexVersionCreated()))
  5. .getBitSet(subReaderContext);
  6. if (!bits.get(subDocId)) {
  7. return bits.nextSetBit(subDocId);
  8. }
  9. }
  10. return -1;
  11. }

相关文章