Package org.apache.solr.search

Examples of org.apache.solr.search.DocSetCollector


      String crcliststr=params.get("mdrill.crc.key.get.crclist");
      if(crcliststr!=null)
      {
       

        DocSetCollector collect=new DocSetCollector(10240, reader.maxDoc());

        String[] crclist=crcliststr.split(",");
        for(String s:crclist)
        {
          Long crc=Long.parseLong(s);
          String v=cache.get(crc);
          if(v!=null)
          {
            String cols[]=v.split(UniqConfig.GroupJoinString(),-1);
            if(cols.length>=2)
            {
              int doc=Integer.parseInt(cols[0]);
              collect.collect(doc);
            }
          }
        }
       
       
        FieldValueGet fvget=new FieldValueGet(collect.getDocSet(),fields, reader, searcher);

        for(String s:crclist)
        {
          Long crc=Long.parseLong(s);
          String v=cache.get(crc);
View Full Code Here


        }
      }
      return ;
    }
   
    DocSetCollector collect=new DocSetCollector(10240, maxDoc);
    for (;;) {
      int n = td.read(docs, freqs);
      if (n <= 0) {
        break;
      }
      for (int i = 0; i < n; i++) {
        int docid=docs[i];
        collect.collect(docid);
        this.uni.bits.add(docid);
        this.uni.markDocTm(docid, termNum, isinit);
      }
    }
View Full Code Here

  private int set_Doc2TermNum_Skip(TermDocs td,int[] docs,int[] freqs,int termNum,boolean isinit,int maxDoc) throws IOException
  {
    int skipcount=0;
     
    DocSetCollector collect=new DocSetCollector(10240, maxDoc);
    DocIterator iter = this.uni.baseAdvanceDocs.iterator();
    int doc=-1;
    int baseDoc=-1;
   
    while (iter.hasNext()) {
      doc = iter.nextDoc();
      if(doc<baseDoc)
      {
        continue;
      }
     
     
      if(doc>baseDoc)
      {
        int diff=doc-baseDoc;
        if(diff>=SKIP_STEP)
        {
          if(baseDoc>=0)
          {
            skipcount++;
          }
          baseDoc=UnInvertedFieldUtils.advance(td, doc);
          if(UnInvertedFieldUtils.NO_MORE_DOCS==baseDoc)
          {
            break;
          }
        }else{
          boolean is_no_more_docs=false;
          for(int i=0;i<=SKIP_STEP;i++)
          {
            if(td.next())
            {
              baseDoc=td.doc();
              if(baseDoc>=doc)
              {
                break;
              }
              collect.collect(baseDoc);
              this.uni.bits.add(baseDoc);
              this.uni.markDocTm(baseDoc, termNum, isinit);
             
            }else{
              is_no_more_docs=true;
              break;
            }
          }
          if(is_no_more_docs)
          {
            break;
          }
        }
      }
     
      if(baseDoc==doc)
      {
        this.uni.bits.add(doc);
        collect.collect(doc);
        this.uni.markDocTm(doc, termNum, isinit);
      }
    }
   
   
View Full Code Here

TOP

Related Classes of org.apache.solr.search.DocSetCollector

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.