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

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

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

BitSet.of介绍

[英]Build a BitSet from the content of the provided DocIdSetIterator. NOTE: this will fully consume the DocIdSetIterator.
[中]

代码示例

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

  1. private static BitSetProducer newParentDocBitSetProducer(Version indexVersionCreated) {
  2. return context -> {
  3. Query query = Queries.newNonNestedFilter(indexVersionCreated);
  4. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  5. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  6. searcher.setQueryCache(null);
  7. final Weight weight = searcher.createNormalizedWeight(query, false);
  8. Scorer s = weight.scorer(context);
  9. return s == null ? null : BitSet.of(s.iterator(), context.reader().maxDoc());
  10. };
  11. }
  12. }

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

  1. bits = BitSet.of(docs, context.reader().maxDoc());

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

  1. static CodecReader wrapReader(String recoverySourceField, CodecReader reader, Supplier<Query> retainSourceQuerySupplier)
  2. throws IOException {
  3. NumericDocValues recoverySource = reader.getNumericDocValues(recoverySourceField);
  4. if (recoverySource == null || recoverySource.nextDoc() == DocIdSetIterator.NO_MORE_DOCS) {
  5. return reader; // early terminate - nothing to do here since non of the docs has a recovery source anymore.
  6. }
  7. BooleanQuery.Builder builder = new BooleanQuery.Builder();
  8. builder.add(new DocValuesFieldExistsQuery(recoverySourceField), BooleanClause.Occur.FILTER);
  9. builder.add(retainSourceQuerySupplier.get(), BooleanClause.Occur.FILTER);
  10. IndexSearcher s = new IndexSearcher(reader);
  11. s.setQueryCache(null);
  12. Weight weight = s.createWeight(s.rewrite(builder.build()), false, 1.0f);
  13. Scorer scorer = weight.scorer(reader.getContext());
  14. if (scorer != null) {
  15. return new SourcePruningFilterCodecReader(recoverySourceField, reader, BitSet.of(scorer.iterator(), reader.maxDoc()));
  16. } else {
  17. return new SourcePruningFilterCodecReader(recoverySourceField, reader, null);
  18. }
  19. }

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

  1. bitSet = null;
  2. } else {
  3. bitSet = BitSet.of(s.iterator(), context.reader().maxDoc());

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

  1. private static BitSetProducer newParentDocBitSetProducer(Version indexVersionCreated) {
  2. return context -> {
  3. Query query = Queries.newNonNestedFilter(indexVersionCreated);
  4. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  5. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  6. searcher.setQueryCache(null);
  7. final Weight weight = searcher.createNormalizedWeight(query, false);
  8. Scorer s = weight.scorer(context);
  9. return s == null ? null : BitSet.of(s.iterator(), context.reader().maxDoc());
  10. };
  11. }
  12. }

代码示例来源:origin: apache/servicemix-bundles

  1. private static BitSetProducer newParentDocBitSetProducer(Version indexVersionCreated) {
  2. return context -> {
  3. Query query = Queries.newNonNestedFilter(indexVersionCreated);
  4. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  5. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  6. searcher.setQueryCache(null);
  7. final Weight weight = searcher.createNormalizedWeight(query, false);
  8. Scorer s = weight.scorer(context);
  9. return s == null ? null : BitSet.of(s.iterator(), context.reader().maxDoc());
  10. };
  11. }
  12. }

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

  1. @Override
  2. public BitSet getBitSet(LeafReaderContext context) throws IOException {
  3. final LeafReader reader = context.reader();
  4. final Object key = reader.getCoreCacheKey();
  5. DocIdSet docIdSet = cache.get(key);
  6. if (docIdSet == null) {
  7. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  8. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  9. searcher.setQueryCache(null);
  10. final Weight weight = searcher.createNormalizedWeight(query, false);
  11. final Scorer s = weight.scorer(context);
  12. if (s == null) {
  13. docIdSet = DocIdSet.EMPTY;
  14. } else {
  15. docIdSet = new BitDocIdSet(BitSet.of(s.iterator(), context.reader().maxDoc()));
  16. }
  17. cache.put(key, docIdSet);
  18. }
  19. return docIdSet == DocIdSet.EMPTY ? null : ((BitDocIdSet) docIdSet).bits();
  20. }

代码示例来源:origin: org.elasticsearch.plugin/percolator-client

  1. @Override
  2. public BitSetProducer bitsetFilter(Query query) {
  3. return context -> {
  4. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  5. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  6. searcher.setQueryCache(null);
  7. final Weight weight = searcher.createNormalizedWeight(query, false);
  8. final Scorer s = weight.scorer(context);
  9. if (s != null) {
  10. return new BitDocIdSet(BitSet.of(s.iterator(), context.reader().maxDoc())).bits();
  11. } else {
  12. return null;
  13. }
  14. };
  15. }

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

  1. bits = BitSet.of(docs, context.reader().maxDoc());

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

  1. bits = BitSet.of(docs, context.reader().maxDoc());

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

  1. bits = BitSet.of(docs, context.reader().maxDoc());

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

  1. @Override
  2. public BitSetProducer bitsetFilter(Query query) {
  3. return context -> {
  4. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  5. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  6. searcher.setQueryCache(null);
  7. final Weight weight = searcher.createNormalizedWeight(query, false);
  8. final Scorer s = weight.scorer(context);
  9. if (s != null) {
  10. return new BitDocIdSet(BitSet.of(s.iterator(), context.reader().maxDoc())).bits();
  11. } else {
  12. return null;
  13. }
  14. };
  15. }

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

  1. throw new IllegalStateException("LeafReader " + context.reader() + " contains no parents!");
  2. parentBits = BitSet.of(parents.iterator(), context.reader().maxDoc());
  3. parentLeafComparators = new LeafFieldComparator[parentComparators.length];
  4. for (int i = 0; i < parentComparators.length; i++) {

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

  1. @Override
  2. public Value call() throws Exception {
  3. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  4. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  5. searcher.setQueryCache(null);
  6. final Weight weight = searcher.createNormalizedWeight(query, false);
  7. final Scorer s = weight.scorer(context);
  8. final BitSet bitSet;
  9. if (s == null) {
  10. bitSet = null;
  11. } else {
  12. bitSet = BitSet.of(s.iterator(), context.reader().maxDoc());
  13. }
  14. Value value = new Value(bitSet, shardId);
  15. listener.onCache(shardId, value.bitset);
  16. return value;
  17. }
  18. }).bitset;

代码示例来源:origin: org.elasticsearch.plugin/percolator-client

  1. Scorer s = weight.scorer(percolatorIndexSearcher.getIndexReader().leaves().get(0));
  2. int memoryIndexMaxDoc = percolatorIndexSearcher.getIndexReader().maxDoc();
  3. BitSet rootDocs = BitSet.of(s.iterator(), memoryIndexMaxDoc);
  4. int[] rootDocsBySlot = null;
  5. boolean hasNestedDocs = rootDocs.cardinality() != percolatorIndexSearcher.getIndexReader().numDocs();

代码示例来源:origin: apache/servicemix-bundles

  1. static CodecReader wrapReader(String recoverySourceField, CodecReader reader, Supplier<Query> retainSourceQuerySupplier)
  2. throws IOException {
  3. NumericDocValues recoverySource = reader.getNumericDocValues(recoverySourceField);
  4. if (recoverySource == null || recoverySource.nextDoc() == DocIdSetIterator.NO_MORE_DOCS) {
  5. return reader; // early terminate - nothing to do here since non of the docs has a recovery source anymore.
  6. }
  7. BooleanQuery.Builder builder = new BooleanQuery.Builder();
  8. builder.add(new DocValuesFieldExistsQuery(recoverySourceField), BooleanClause.Occur.FILTER);
  9. builder.add(retainSourceQuerySupplier.get(), BooleanClause.Occur.FILTER);
  10. IndexSearcher s = new IndexSearcher(reader);
  11. s.setQueryCache(null);
  12. Weight weight = s.createWeight(s.rewrite(builder.build()), false, 1.0f);
  13. Scorer scorer = weight.scorer(reader.getContext());
  14. if (scorer != null) {
  15. return new SourcePruningFilterCodecReader(recoverySourceField, reader, BitSet.of(scorer.iterator(), reader.maxDoc()));
  16. } else {
  17. return new SourcePruningFilterCodecReader(recoverySourceField, reader, null);
  18. }
  19. }

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

  1. static CodecReader wrapReader(String recoverySourceField, CodecReader reader, Supplier<Query> retainSourceQuerySupplier)
  2. throws IOException {
  3. NumericDocValues recoverySource = reader.getNumericDocValues(recoverySourceField);
  4. if (recoverySource == null || recoverySource.nextDoc() == DocIdSetIterator.NO_MORE_DOCS) {
  5. return reader; // early terminate - nothing to do here since non of the docs has a recovery source anymore.
  6. }
  7. BooleanQuery.Builder builder = new BooleanQuery.Builder();
  8. builder.add(new DocValuesFieldExistsQuery(recoverySourceField), BooleanClause.Occur.FILTER);
  9. builder.add(retainSourceQuerySupplier.get(), BooleanClause.Occur.FILTER);
  10. IndexSearcher s = new IndexSearcher(reader);
  11. s.setQueryCache(null);
  12. Weight weight = s.createWeight(s.rewrite(builder.build()), false, 1.0f);
  13. Scorer scorer = weight.scorer(reader.getContext());
  14. if (scorer != null) {
  15. return new SourcePruningFilterCodecReader(recoverySourceField, reader, BitSet.of(scorer.iterator(), reader.maxDoc()));
  16. } else {
  17. return new SourcePruningFilterCodecReader(recoverySourceField, reader, null);
  18. }
  19. }

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

  1. bitSet = null;
  2. } else {
  3. bitSet = BitSet.of(s.iterator(), context.reader().maxDoc());

代码示例来源:origin: apache/servicemix-bundles

  1. bitSet = null;
  2. } else {
  3. bitSet = BitSet.of(s.iterator(), context.reader().maxDoc());

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

  1. private BitSet getAndLoadIfNotPresent(final Query query, final LeafReaderContext context) throws IOException, ExecutionException {
  2. final Object coreCacheReader = context.reader().getCoreCacheKey();
  3. final ShardId shardId = ShardUtils.extractShardId(context.reader());
  4. if (indexSettings.getIndex().equals(shardId.getIndex()) == false) {
  5. // insanity
  6. throw new IllegalStateException("Trying to load bit set for index " + shardId.getIndex()
  7. + " with cache of index " + indexSettings.getIndex());
  8. }
  9. Cache<Query, Value> filterToFbs = loadedFilters.computeIfAbsent(coreCacheReader, key -> {
  10. context.reader().addCoreClosedListener(BitsetFilterCache.this);
  11. return CacheBuilder.<Query, Value>builder().build();
  12. });
  13. return filterToFbs.computeIfAbsent(query, key -> {
  14. final IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(context);
  15. final IndexSearcher searcher = new IndexSearcher(topLevelContext);
  16. searcher.setQueryCache(null);
  17. final Weight weight = searcher.createNormalizedWeight(query, false);
  18. Scorer s = weight.scorer(context);
  19. final BitSet bitSet;
  20. if (s == null) {
  21. bitSet = null;
  22. } else {
  23. bitSet = BitSet.of(s.iterator(), context.reader().maxDoc());
  24. }
  25. Value value = new Value(bitSet, shardId);
  26. listener.onCache(shardId, value.bitset);
  27. return value;
  28. }).bitset;
  29. }

相关文章