Package org.apache.lucene.search

Examples of org.apache.lucene.search.DocIdSet


      }
      return;
    }

    for (int i = 0; i < _subReaders.length; i++) {
      DocIdSet filterDocIdSet = filter.getDocIdSet(_subReaders[i]);
      if (filterDocIdSet == null) return//shall we use return or continue here ??
      int docStart = start + _docStarts[i];
      collector.setNextReader(_subReaders[i], docStart);
      validator.setNextReader(_subReaders[i], docStart);
      Scorer scorer = weight.scorer(_subReaders[i], true, false);
      if (scorer!=null){
        collector.setScorer(scorer);
        DocIdSetIterator filterDocIdIterator = filterDocIdSet.iterator(); // CHECKME: use ConjunctionScorer here?

        if(filterDocIdIterator == null)
          continue;
       
        int doc = -1;
View Full Code Here


 
  @Override
  public RandomAccessDocIdSet getRandomAccessDocIdSet(BoboIndexReader reader) throws IOException
  {
    final RandomAccessDocIdSet innerDocIdSet = _innerFilter.getRandomAccessDocIdSet(reader);
    final DocIdSet notInnerDocIdSet = new NotDocIdSet(innerDocIdSet, reader.maxDoc());
    return new RandomAccessDocIdSet()
    {
      @Override
      public boolean get(int docId)
      {
        return !innerDocIdSet.get(docId);
      }
      @Override
      public DocIdSetIterator iterator() throws IOException
      {
        return notInnerDocIdSet.iterator();
      }
    };
  }
View Full Code Here

        RandomAccessDocIdSet s = f.getRandomAccessDocIdSet(reader);
        list.add(s);
        randomAccessList.add(s);
      }
      final RandomAccessDocIdSet[] randomAccessDocIdSets = randomAccessList.toArray(new RandomAccessDocIdSet[randomAccessList.size()]);
      final DocIdSet orDocIdSet = new OrDocIdSet(list);
      return new RandomAccessDocIdSet()
      {
        @Override
        public boolean get(int docId)
        {
          for(RandomAccessDocIdSet s : randomAccessDocIdSets)
          {
            if(s.get(docId)) return true;
          }
          return false;
        }

        @Override
        public DocIdSetIterator iterator() throws IOException
        {
          return orDocIdSet.iterator();
        }
      };
    }
  }
View Full Code Here

      // NOTE: we cannot pass acceptDocs here because this
      // will (most likely, justifiably) cause the filter to
      // not return a FixedBitSet but rather a
      // BitsFilteredDocIdSet.  Instead, we filter by
      // acceptDocs when we score:
      final DocIdSet parents = parentsFilter.getDocIdSet(readerContext, null);

      if (parents == null) {
        // No matches
        return null;
      }
View Full Code Here

  private Filter getNullDISIFilter() {
    return new Filter() {
      @Override
      public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) {
        return new DocIdSet() {
          @Override
          public DocIdSetIterator iterator() {
            return null;
          }
         
View Full Code Here

    };
  }

  private void tstFilterCard(String mes, int expected, Filter filt)
      throws Exception {
    final DocIdSet docIdSet = filt.getDocIdSet(reader.getContext(), reader.getLiveDocs());
    int actual = 0;
    if (docIdSet != null) {
      DocIdSetIterator disi = docIdSet.iterator();
      while (disi.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
        actual++;
      }
    }
    assertEquals(mes, expected, actual);
View Full Code Here

        this.contextSet = contextSet;
    }

    @Override
    public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException {
        DocIdSet cached = cachedSets.get(context.ord);
        return cached;
    }
View Full Code Here

  public DocIdSet getDocIdSet(IndexReader reader) throws IOException {

    final double[] latitudeValues = FieldCache.DEFAULT.getDoubles( reader, getLatitudeField() );
    final double[] longitudeValues = FieldCache.DEFAULT.getDoubles( reader, getLongitudeField() );

    DocIdSet docs = previousFilter.getDocIdSet( reader );

    if ( ( docs == null ) || ( docs.iterator() == null ) ) {
      return null;
    }

    return new FilteredDocIdSet( docs ) {
      @Override
View Full Code Here

  public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException {
    final AtomicReader atomicReader = context.reader();
    final Doubles latitudeValues = FieldCache.DEFAULT.getDoubles( atomicReader, getLatitudeField(), false );
    final Doubles longitudeValues = FieldCache.DEFAULT.getDoubles( atomicReader, getLongitudeField(), false );

    DocIdSet docs = previousFilter.getDocIdSet( context, acceptDocs );

    if ( ( docs == null ) || ( docs.iterator() == null ) ) {
      return null;
    }

    return new FilteredDocIdSet( docs ) {
      @Override
View Full Code Here

        }
        else {
          return (DocIdSet) cached;
        }
      }
      final DocIdSet docIdSet = filter.getDocIdSet( context, acceptDocs );
      if ( docIdSet == null ) {
        cache.put( reader, NULL_OBJECT );
        return null;
      }
      else {
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.DocIdSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.