Examples of BlockTermState


Examples of org.apache.lucene.codecs.BlockTermState

      // 3rd pass: write the freqs as byte[] blob
      // TODO: cutover to better intblock codec.  simple64?
      // write prefix, suffix first:
      for(int termCount=0;termCount<pendingCount;termCount++) {
        final BlockTermState state = pendingTerms[termCount].state;
        assert state != null;
        bytesWriter.writeVInt(state.docFreq);
        if (fieldInfo.getIndexOptions() != IndexOptions.DOCS_ONLY) {
          bytesWriter.writeVLong(state.totalTermFreq-state.docFreq);
        }
      }
      out.writeVInt((int) bytesWriter.getFilePointer());
      bytesWriter.writeTo(out);
      bytesWriter.reset();

      // 4th pass: write the metadata
      long[] longs = new long[longsSize];
      boolean absolute = true;
      for(int termCount=0;termCount<pendingCount;termCount++) {
        final BlockTermState state = pendingTerms[termCount].state;
        postingsWriter.encodeTerm(longs, bufferWriter, fieldInfo, state, absolute);
        for (int i = 0; i < longsSize; i++) {
          bytesWriter.writeVLong(longs[i]);
        }
        bufferWriter.writeTo(bytesWriter);
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

    }

    @Override
    public void finishTerm(BytesRef text, TermStats stats) throws IOException {
      // write term meta data into fst
      final BlockTermState state = postingsWriter.newTermState();
      final FSTTermOutputs.TermData meta = new FSTTermOutputs.TermData();
      meta.longs = new long[longsSize];
      meta.bytes = null;
      meta.docFreq = state.docFreq = stats.docFreq;
      meta.totalTermFreq = state.totalTermFreq = stats.totalTermFreq;
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

          statsOut.writeVLong(stats.totalTermFreq-stats.docFreq);
        }
      } else {
        statsOut.writeVInt(stats.docFreq);
      }
      BlockTermState state = postingsWriter.newTermState();
      state.docFreq = stats.docFreq;
      state.totalTermFreq = stats.totalTermFreq;
      postingsWriter.finishTerm(state);
      postingsWriter.encodeTerm(longs, metaBytesOut, fieldInfo, state, true);
      for (int i = 0; i < longsSize; i++) {
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

      if (isLeafBlock) {
        subIndices = null;
        for (PendingEntry ent : slice) {
          assert ent.isTerm;
          PendingTerm term = (PendingTerm) ent;
          BlockTermState state = term.state;
          final int suffix = term.term.length - prefixLength;
          // if (DEBUG) {
          //   BytesRef suffixBytes = new BytesRef(suffix);
          //   System.arraycopy(term.term.bytes, prefixLength, suffixBytes.bytes, 0, suffix);
          //   suffixBytes.length = suffix;
          //   System.out.println("    write term suffix=" + suffixBytes);
          // }
          // For leaf block we write suffix straight
          suffixWriter.writeVInt(suffix);
          suffixWriter.writeBytes(term.term.bytes, prefixLength, suffix);

          // Write term stats, to separate byte[] blob:
          statsWriter.writeVInt(state.docFreq);
          if (fieldInfo.getIndexOptions() != IndexOptions.DOCS_ONLY) {
            assert state.totalTermFreq >= state.docFreq: state.totalTermFreq + " vs " + state.docFreq;
            statsWriter.writeVLong(state.totalTermFreq - state.docFreq);
          }

          // Write term meta data
          postingsWriter.encodeTerm(longs, bytesWriter, fieldInfo, state, absolute);
          for (int pos = 0; pos < longsSize; pos++) {
            assert longs[pos] >= 0;
            metaWriter.writeVLong(longs[pos]);
          }
          bytesWriter.writeTo(metaWriter);
          bytesWriter.reset();
          absolute = false;
        }
        termCount = length;
      } else {
        subIndices = new ArrayList<>();
        termCount = 0;
        for (PendingEntry ent : slice) {
          if (ent.isTerm) {
            PendingTerm term = (PendingTerm) ent;
            BlockTermState state = term.state;
            final int suffix = term.term.length - prefixLength;
            // if (DEBUG) {
            //   BytesRef suffixBytes = new BytesRef(suffix);
            //   System.arraycopy(term.term.bytes, prefixLength, suffixBytes.bytes, 0, suffix);
            //   suffixBytes.length = suffix;
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

      assert stats.docFreq > 0;
      //if (DEBUG) System.out.println("BTTW.finishTerm term=" + fieldInfo.name + ":" + toString(text) + " seg=" + segment + " df=" + stats.docFreq);

      blockBuilder.add(Util.toIntsRef(text, scratchIntsRef), noOutputs.getNoOutput());
      BlockTermState state = postingsWriter.newTermState();
      state.docFreq = stats.docFreq;
      state.totalTermFreq = stats.totalTermFreq;
      postingsWriter.finishTerm(state);

      PendingTerm term = new PendingTerm(BytesRef.deepCopyOf(text), state);
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

      if (isLeafBlock) {
        subIndices = null;
        for (PendingEntry ent : slice) {
          assert ent.isTerm;
          PendingTerm term = (PendingTerm) ent;
          BlockTermState state = term.state;
          maxVersionInBlock = Math.max(maxVersionInBlock, ((IDVersionTermState) state).idVersion);
          final int suffix = term.term.length - prefixLength;
          // if (DEBUG) {
          //    BytesRef suffixBytes = new BytesRef(suffix);
          //    System.arraycopy(term.term.bytes, prefixLength, suffixBytes.bytes, 0, suffix);
          //    suffixBytes.length = suffix;
          //    System.out.println("    " + (countx++) + ": write term suffix=" + toString(suffixBytes));
          // }
          // For leaf block we write suffix straight
          suffixWriter.writeVInt(suffix);
          suffixWriter.writeBytes(term.term.bytes, prefixLength, suffix);

          // Write term meta data
          postingsWriter.encodeTerm(longs, bytesWriter, fieldInfo, state, absolute);
          for (int pos = 0; pos < longsSize; pos++) {
            assert longs[pos] >= 0;
            metaWriter.writeVLong(longs[pos]);
          }
          bytesWriter.writeTo(metaWriter);
          bytesWriter.reset();
          absolute = false;
        }
        termCount = length;
      } else {
        subIndices = new ArrayList<>();
        termCount = 0;
        for (PendingEntry ent : slice) {
          if (ent.isTerm) {
            PendingTerm term = (PendingTerm) ent;
            BlockTermState state = term.state;
            maxVersionInBlock = Math.max(maxVersionInBlock, ((IDVersionTermState) state).idVersion);
            final int suffix = term.term.length - prefixLength;
            // if (DEBUG) {
            //    BytesRef suffixBytes = new BytesRef(suffix);
            //    System.arraycopy(term.term.bytes, prefixLength, suffixBytes.bytes, 0, suffix);
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

      assert stats.docFreq > 0;
      //if (DEBUG) System.out.println("BTTW.finishTerm term=" + fieldInfo.name + ":" + toString(text) + " seg=" + segment + " df=" + stats.docFreq);
      if (((IDVersionPostingsWriter) postingsWriter).lastDocID != -1) {
        blockBuilder.add(Util.toIntsRef(text, scratchIntsRef), noOutputs.getNoOutput());
        BlockTermState state = postingsWriter.newTermState();
        state.docFreq = stats.docFreq;
        state.totalTermFreq = stats.totalTermFreq;
        postingsWriter.finishTerm(state);

        PendingTerm term = new PendingTerm(BytesRef.deepCopyOf(text), state);
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

          statsOut.writeVLong(stats.totalTermFreq-stats.docFreq);
        }
      } else {
        statsOut.writeVInt(stats.docFreq);
      }
      BlockTermState state = postingsWriter.newTermState();
      state.docFreq = stats.docFreq;
      state.totalTermFreq = stats.totalTermFreq;
      postingsWriter.finishTerm(state);
      postingsWriter.encodeTerm(longs, metaBytesOut, fieldInfo, state, true);
      for (int i = 0; i < longsSize; i++) {
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

    }

    @Override
    public void finishTerm(BytesRef text, TermStats stats) throws IOException {
      // write term meta data into fst
      final BlockTermState state = postingsWriter.newTermState();
      final FSTTermOutputs.TermData meta = new FSTTermOutputs.TermData();
      meta.longs = new long[longsSize];
      meta.bytes = null;
      meta.docFreq = state.docFreq = stats.docFreq;
      meta.totalTermFreq = state.totalTermFreq = stats.totalTermFreq;
View Full Code Here

Examples of org.apache.lucene.codecs.BlockTermState

    }

    @Override
    public void finishTerm(BytesRef text, TermStats stats) throws IOException {
      // write term meta data into fst
      final BlockTermState state = postingsWriter.newTermState();
      final FSTTermOutputs.TermData meta = new FSTTermOutputs.TermData();
      meta.longs = new long[longsSize];
      meta.bytes = null;
      meta.docFreq = state.docFreq = stats.docFreq;
      meta.totalTermFreq = state.totalTermFreq = stats.totalTermFreq;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.