Package proj.zoie.api

Examples of proj.zoie.api.DocIDMapper$DocIDArray


  public DocIDMapper getDocIDMapper(ZoieMultiReader<?> multireader) {
    final ZoieSegmentReader<?>[] subreaders =(ZoieSegmentReader<?>[])(multireader.getSequentialSubReaders());
    final int[] starts = multireader.getStarts();
    for (int i = 0; i < subreaders.length; ++i){
      ZoieSegmentReader<?> subReader = subreaders[i];
      DocIDMapper mapper = subReader.getDocIDMaper();
      if (mapper == null){
        mapper = new DocIDMapperImpl(subReader.getUIDArray());
      }
      subReader.setDocIDMapper(mapper);
    }
View Full Code Here


    memoryProvider.addEvents(list);
    idxSystem.syncWthVersion(10000, zvt);
 
    List<ZoieIndexReader<IndexReader>> readerList= idxSystem.getIndexReaders();      
    for (ZoieIndexReader<IndexReader> reader : readerList){
      DocIDMapper mapper = reader.getDocIDMaper();
      if (!(mapper instanceof DocIDMapperImpl)){
        numDiskIdx++;
      }
    }
    idxSystem.returnIndexReaders(readerList);
View Full Code Here

    List<ZoieIndexReader<IndexReader>> readerList = idxSystem.getIndexReaders();
    // test UIDs from TestInRangeDataInterpreter 0-9
    for(ZoieIndexReader<IndexReader> reader : readerList)
    {
      int maxDoc = reader.maxDoc();
      DocIDMapper gmapper = reader.getDocIDMaper();
      ZoieIndexReader[] readers = gmapper.getSubReaders();
      log.info(Arrays.toString(readers));
      int[] starts = gmapper.getStarts();
      for(long uid = 0; uid<10; uid++)
      {
        int readeridx = gmapper.getReaderIndex(uid);
        if (readeridx<0 || reader.isDeleted(gmapper.getDocID(uid)))
        {
          continue;
        }
        log.info(
            "uid: " + uid + " global:" +gmapper.getDocID(uid)+ " start: " + starts[readeridx] +
            " local:" + readers[readeridx].getDocIDMaper().getDocID(uid) +
            "?=" + (gmapper.getDocID(uid)-starts[readeridx])+
            (reader.isDeleted(gmapper.getDocID(uid))?"deleted":""));
        assertTrue("", (gmapper.getDocID(uid)-starts[readeridx]) == readers[readeridx].getDocIDMaper().getDocID(uid));
      }
    }
    for(ZoieIndexReader<IndexReader> reader : readerList)
    {
      DocIDMapper mapper = reader.getDocIDMaper();
      log.info(mapper);
      if (!(mapper instanceof DocIDMapperImpl))
      {
        numDiskIdx++;
      }
View Full Code Here

      try
      {
        // for RAM indexes, just get a new index reader
        srcReader = IndexReader.open(_directory, true);
        finalReader = ZoieIndexReader.open(srcReader, _decorator);
        DocIDMapper mapper = _idxMgr._docIDMapperFactory.getDocIDMapper((ZoieMultiReader<R>) finalReader);
        finalReader.setDocIDMapper(mapper);
        return finalReader;
      } catch (IOException ioe)
      {
        // if reader decoration fails, still need to close the source reader
View Full Code Here

      } else
      {
        reader = (ZoieIndexReader<R>) _currentReader.reopen(true);
        if (reader != _currentReader)
        {
          DocIDMapper mapper = _idxMgr._docIDMapperFactory.getDocIDMapper((ZoieMultiReader<R>) reader);
          reader.setDocIDMapper(mapper);
        }
      }

      if (_currentReader != reader)
View Full Code Here

    // swap the internal readers
    if (_currentReader != reader)
    {
      if (reader!=null){
        DocIDMapper mapper = _idx._idxMgr._docIDMapperFactory.getDocIDMapper((ZoieMultiReader<R>)reader);
        reader.setDocIDMapper(mapper);
      }
      // assume that this is the only place that _currentReader gets refreshed
      IndexReader oldReader = _currentReader;
      _currentReader = reader;
View Full Code Here

      {
        ZoieIndexReader<R> reader= openIndexReader();
        if (reader!=null)
        {
        IntList delList = new IntArrayList(delDocs.size());
        DocIDMapper idMapper = reader.getDocIDMaper();
        LongIterator iter = delDocs.iterator();
         
        while(iter.hasNext()){
          long uid = iter.nextLong();
          if (ZoieIndexReader.DELETED_UID!=uid){
            int docid = idMapper.getDocID(uid);
            if (docid!=DocIDMapper.NOT_FOUND){
              delList.add(docid);
            }
          }
        }
View Full Code Here

    } else
    { // small ram index
      for (int i = 0; i < subreaders.length; ++i)
      {
        ZoieSegmentReader<?> subReader = subreaders[i];
        DocIDMapper mapper = subReader.getDocIDMaper();
        if (mapper == null)
        {
          mapper = new DocIDMapperImpl(subReader.getUIDArray());
        }
        subReader.setDocIDMapper(mapper);
View Full Code Here

      for (int readerid = 0; readerid < readers.size(); readerid++)
      {
        retstr += "reader: " + readerid + "\n";
        docstr += "reader: " + readerid + "\n";
        ZoieIndexReader reader = readers.get(readerid);
        DocIDMapper idmapper = reader.getDocIDMaper();
        try
        {
          Collection fieldnames = reader.getFieldNames(FieldOption.ALL);
          String fieldnamess = Arrays.toString(fieldnames.toArray());
          retstr += "fields: " + fieldnamess + "\n";
View Full Code Here

      retstr += readers.size() + " readers obtained\n";
      for (int readerid = 0; readerid < readers.size(); readerid++)
      {
        retstr += "reader: " + readerid + "\n";
        ZoieIndexReader reader = readers.get(readerid);
        DocIDMapper idmapper = reader.getDocIDMaper();
        int docid = idmapper.getDocID(UID);
        retstr += "docid(in reader): " + formatter.format(docid) + "\n";
        if (docid == DocIDMapper.NOT_FOUND)
        {
          retstr += "not found in this reader\n";
          continue;
View Full Code Here

TOP

Related Classes of proj.zoie.api.DocIDMapper$DocIDArray

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.