亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? multisegmentreader.java

?? lucene-2.4.0 是一個全文收索的工具包
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
  public synchronized byte[] norms(String field) throws IOException {    ensureOpen();    byte[] bytes = (byte[])normsCache.get(field);    if (bytes != null)      return bytes;          // cache hit    if (!hasNorms(field))      return fakeNorms();    bytes = new byte[maxDoc()];    for (int i = 0; i < subReaders.length; i++)      subReaders[i].norms(field, bytes, starts[i]);    normsCache.put(field, bytes);      // update cache    return bytes;  }  public synchronized void norms(String field, byte[] result, int offset)    throws IOException {    ensureOpen();    byte[] bytes = (byte[])normsCache.get(field);    if (bytes==null && !hasNorms(field)) bytes=fakeNorms();    if (bytes != null)                            // cache hit      System.arraycopy(bytes, 0, result, offset, maxDoc());    for (int i = 0; i < subReaders.length; i++)      // read from segments      subReaders[i].norms(field, result, offset + starts[i]);  }  protected void doSetNorm(int n, String field, byte value)    throws CorruptIndexException, IOException {    synchronized (normsCache) {      normsCache.remove(field);                         // clear cache          }    int i = readerIndex(n);                           // find segment num    subReaders[i].setNorm(n-starts[i], field, value); // dispatch  }  public TermEnum terms() throws IOException {    ensureOpen();    return new MultiTermEnum(subReaders, starts, null);  }  public TermEnum terms(Term term) throws IOException {    ensureOpen();    return new MultiTermEnum(subReaders, starts, term);  }  public int docFreq(Term t) throws IOException {    ensureOpen();    int total = 0;          // sum freqs in segments    for (int i = 0; i < subReaders.length; i++)      total += subReaders[i].docFreq(t);    return total;  }  public TermDocs termDocs() throws IOException {    ensureOpen();    return new MultiTermDocs(subReaders, starts);  }  public TermPositions termPositions() throws IOException {    ensureOpen();    return new MultiTermPositions(subReaders, starts);  }  protected void commitChanges() throws IOException {    for (int i = 0; i < subReaders.length; i++)      subReaders[i].commit();  }  void startCommit() {    super.startCommit();    for (int i = 0; i < subReaders.length; i++) {      subReaders[i].startCommit();    }  }  void rollbackCommit() {    super.rollbackCommit();    for (int i = 0; i < subReaders.length; i++) {      subReaders[i].rollbackCommit();    }  }  protected synchronized void doClose() throws IOException {    for (int i = 0; i < subReaders.length; i++)      subReaders[i].decRef();        // maybe close directory    super.doClose();  }  public Collection getFieldNames (IndexReader.FieldOption fieldNames) {    ensureOpen();    return getFieldNames(fieldNames, this.subReaders);  }    static Collection getFieldNames (IndexReader.FieldOption fieldNames, IndexReader[] subReaders) {    // maintain a unique set of field names    Set fieldSet = new HashSet();    for (int i = 0; i < subReaders.length; i++) {      IndexReader reader = subReaders[i];      Collection names = reader.getFieldNames(fieldNames);      fieldSet.addAll(names);    }    return fieldSet;  }     // for testing  SegmentReader[] getSubReaders() {    return subReaders;  }  public void setTermInfosIndexDivisor(int indexDivisor) throws IllegalStateException {    for (int i = 0; i < subReaders.length; i++)      subReaders[i].setTermInfosIndexDivisor(indexDivisor);  }  public int getTermInfosIndexDivisor() throws IllegalStateException {    if (subReaders.length > 0)      return subReaders[0].getTermInfosIndexDivisor();    else      throw new IllegalStateException("no readers");  }  static class MultiTermEnum extends TermEnum {    private SegmentMergeQueue queue;      private Term term;    private int docFreq;      public MultiTermEnum(IndexReader[] readers, int[] starts, Term t)      throws IOException {      queue = new SegmentMergeQueue(readers.length);      for (int i = 0; i < readers.length; i++) {        IndexReader reader = readers[i];        TermEnum termEnum;          if (t != null) {          termEnum = reader.terms(t);        } else          termEnum = reader.terms();          SegmentMergeInfo smi = new SegmentMergeInfo(starts[i], termEnum, reader);        if (t == null ? smi.next() : termEnum.term() != null)          queue.put(smi);          // initialize queue        else          smi.close();      }        if (t != null && queue.size() > 0) {        next();      }    }      public boolean next() throws IOException {      SegmentMergeInfo top = (SegmentMergeInfo)queue.top();      if (top == null) {        term = null;        return false;      }        term = top.term;      docFreq = 0;        while (top != null && term.compareTo(top.term) == 0) {        queue.pop();        docFreq += top.termEnum.docFreq();    // increment freq        if (top.next())          queue.put(top);          // restore queue        else          top.close();          // done with a segment        top = (SegmentMergeInfo)queue.top();      }      return true;    }      public Term term() {      return term;    }      public int docFreq() {      return docFreq;    }      public void close() throws IOException {      queue.close();    }  }  static class MultiTermDocs implements TermDocs {    protected IndexReader[] readers;    protected int[] starts;    protected Term term;      protected int base = 0;    protected int pointer = 0;      private TermDocs[] readerTermDocs;    protected TermDocs current;              // == readerTermDocs[pointer]      public MultiTermDocs(IndexReader[] r, int[] s) {      readers = r;      starts = s;        readerTermDocs = new TermDocs[r.length];    }      public int doc() {      return base + current.doc();    }    public int freq() {      return current.freq();    }      public void seek(Term term) {      this.term = term;      this.base = 0;      this.pointer = 0;      this.current = null;    }      public void seek(TermEnum termEnum) throws IOException {      seek(termEnum.term());    }      public boolean next() throws IOException {      for(;;) {        if (current!=null && current.next()) {          return true;        }        else if (pointer < readers.length) {          base = starts[pointer];          current = termDocs(pointer++);        } else {          return false;        }      }    }      /** Optimized implementation. */    public int read(final int[] docs, final int[] freqs) throws IOException {      while (true) {        while (current == null) {          if (pointer < readers.length) {      // try next segment            base = starts[pointer];            current = termDocs(pointer++);          } else {            return 0;          }        }        int end = current.read(docs, freqs);        if (end == 0) {          // none left in segment          current = null;        } else {            // got some          final int b = base;        // adjust doc numbers          for (int i = 0; i < end; i++)           docs[i] += b;          return end;        }      }    }     /* A Possible future optimization could skip entire segments */     public boolean skipTo(int target) throws IOException {      for(;;) {        if (current != null && current.skipTo(target-base)) {          return true;        } else if (pointer < readers.length) {          base = starts[pointer];          current = termDocs(pointer++);        } else          return false;      }    }      private TermDocs termDocs(int i) throws IOException {      if (term == null)        return null;      TermDocs result = readerTermDocs[i];      if (result == null)        result = readerTermDocs[i] = termDocs(readers[i]);      result.seek(term);      return result;    }      protected TermDocs termDocs(IndexReader reader)      throws IOException {      return reader.termDocs();    }      public void close() throws IOException {      for (int i = 0; i < readerTermDocs.length; i++) {        if (readerTermDocs[i] != null)          readerTermDocs[i].close();      }    }  }  static class MultiTermPositions extends MultiTermDocs implements TermPositions {    public MultiTermPositions(IndexReader[] r, int[] s) {      super(r,s);    }      protected TermDocs termDocs(IndexReader reader) throws IOException {      return (TermDocs)reader.termPositions();    }      public int nextPosition() throws IOException {      return ((TermPositions)current).nextPosition();    }        public int getPayloadLength() {      return ((TermPositions)current).getPayloadLength();    }         public byte[] getPayload(byte[] data, int offset) throws IOException {      return ((TermPositions)current).getPayload(data, offset);    }        // TODO: Remove warning after API has been finalized    public boolean isPayloadAvailable() {      return ((TermPositions) current).isPayloadAvailable();    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人听书哪个软件好| 久久这里都是精品| 久久先锋影音av鲁色资源网| 亚洲欧洲成人自拍| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产乱子伦一区二区三区国色天香| 欧美亚洲国产怡红院影院| 18欧美亚洲精品| 欧美日韩国产中文| 国产一区不卡在线| 国产女主播在线一区二区| 成人深夜在线观看| 亚洲精品免费电影| 在线看日韩精品电影| 美女脱光内衣内裤视频久久网站 | 一本色道亚洲精品aⅴ| 久久伊人蜜桃av一区二区| 国内一区二区在线| 国产精品美女久久久久aⅴ | 96av麻豆蜜桃一区二区| 亚洲一区二区三区在线看| 欧美日韩激情在线| 国产乱码一区二区三区| 亚洲综合一区二区| 日韩一区二区三区视频在线观看| 国产一区亚洲一区| 中文字幕日本不卡| 在线成人av网站| 国产精品2024| 日本一区中文字幕| 久久无码av三级| 91精品国产综合久久香蕉麻豆 | 国产精品视频九色porn| 91传媒视频在线播放| 成人激情小说乱人伦| 日本成人在线电影网| 中文字幕制服丝袜成人av | 久久综合九色欧美综合狠狠| 97久久精品人人做人人爽50路| 亚洲精品视频一区| 亚洲色欲色欲www在线观看| 欧美成人一区二区三区片免费| 91国在线观看| 9久草视频在线视频精品| 免费久久精品视频| 香蕉加勒比综合久久| 亚洲成人tv网| 人人精品人人爱| 大尺度一区二区| 91极品视觉盛宴| 91精品国产综合久久久久久久久久| 欧美色视频在线| 91黄视频在线| 日韩欧美另类在线| 国产亚洲1区2区3区| 国产欧美日本一区视频| 国产精品全国免费观看高清| 亚洲午夜激情av| 国产乱国产乱300精品| 成人av在线资源| 在线视频国内自拍亚洲视频| 精品少妇一区二区三区在线视频| 欧美精品一区视频| 中文字幕 久热精品 视频在线 | 91精品国产综合久久精品性色| 91精品国产综合久久久久久| 久久综合中文字幕| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品一线二线三线| 综合在线观看色| 日韩精品欧美成人高清一区二区| 国产成人精品网址| 欧美一级理论片| 欧美激情一区在线观看| 日韩和欧美的一区| 日本韩国视频一区二区| 欧美精品一区二区久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品一卡二卡在线观看| 色噜噜久久综合| 中文字幕中文字幕在线一区| 国产一区二三区好的| 欧美精品一卡二卡| 国产日产欧美一区二区视频| 国产精品亚洲第一| 欧美精品一区二区三区一线天视频| 无码av免费一区二区三区试看 | 国产综合久久久久影院| 欧美亚洲动漫精品| 一区精品在线播放| 老司机午夜精品| 日韩欧美一二三| 蜜臀a∨国产成人精品| 精品视频色一区| 亚洲一二三专区| 欧美日韩一级大片网址| 国产精品狼人久久影院观看方式| 九色porny丨国产精品| 欧美一区二区视频免费观看| 亚洲国产精品影院| 91在线观看污| 国产精品久久久久久久久晋中| 99热这里都是精品| 亚洲男人都懂的| 欧美性生活影院| 激情图片小说一区| 国产欧美一区二区精品婷婷| 国产黑丝在线一区二区三区| 国产精品私人影院| 99精品欧美一区二区三区综合在线| 中文字幕不卡三区| 99久久精品久久久久久清纯| 伊人婷婷欧美激情| 欧美久久一区二区| 精品午夜一区二区三区在线观看 | 波多野结衣在线一区| 最新成人av在线| 欧美变态口味重另类| 91成人看片片| 丁香婷婷综合色啪| 秋霞影院一区二区| 国产精品狼人久久影院观看方式| 欧美日韩久久不卡| 男女性色大片免费观看一区二区 | 欧美一卡二卡三卡| 色综合天天综合网天天狠天天| 日本人妖一区二区| 亚洲综合清纯丝袜自拍| 亚洲精品欧美综合四区| 亚洲欧洲国产专区| ㊣最新国产の精品bt伙计久久| 中文字幕欧美国产| 99久久精品情趣| 91精品国产综合久久久蜜臀粉嫩 | thepron国产精品| 99视频一区二区三区| 成人av动漫网站| eeuss鲁片一区二区三区在线看 | 国产亚洲成aⅴ人片在线观看| 精品国产在天天线2019| 欧美精品在线观看一区二区| 91麻豆国产福利在线观看| av在线一区二区| 91视频在线观看| 91久久精品一区二区三区| 91免费视频大全| 91美女精品福利| 欧美老女人在线| 久久亚洲一区二区三区明星换脸 | 97久久精品人人做人人爽| 91国产精品成人| 日韩精品中文字幕在线一区| 精品国产91久久久久久久妲己| 亚洲国产精品高清| 亚洲女同一区二区| 一区二区日韩电影| 男女性色大片免费观看一区二区 | 亚洲天堂免费在线观看视频| 国产精品国产三级国产aⅴ中文 | 久久久久99精品国产片| 伊人色综合久久天天人手人婷| 国产精品影音先锋| 在线观看一区不卡| 国产精品女人毛片| 亚洲欧美国产毛片在线| 日韩精品91亚洲二区在线观看| 裸体歌舞表演一区二区| 成人精品一区二区三区四区| 91搞黄在线观看| 欧美精品一区二| 亚洲亚洲精品在线观看| 久久69国产一区二区蜜臀| av一区二区三区在线| 日韩欧美亚洲国产另类| 国产精品污www在线观看| 午夜精品福利久久久| 国产大陆a不卡| 欧美日韩dvd在线观看| 欧美v国产在线一区二区三区| 亚洲特级片在线| 国产成人av一区二区三区在线| 在线视频国产一区| 国产精品情趣视频| 久久国产精品一区二区| 色欧美片视频在线观看在线视频| 精品国产123| 日韩精彩视频在线观看| 一本大道久久精品懂色aⅴ| 久久久噜噜噜久久中文字幕色伊伊| 亚洲一二三四久久| 99精品久久免费看蜜臀剧情介绍| 欧美激情综合在线| 久久精工是国产品牌吗| 91亚洲精华国产精华精华液| 国产精品素人一区二区| 蜜桃视频在线观看一区| 91精品国产91久久综合桃花| 一区二区在线观看视频| 一本色道久久加勒比精品| 久久这里只精品最新地址|