コード例 #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void finish(long sumTotalTermFreq, long sumDocFreq, int docCount) throws java.io.IOException
            public override void finish(long sumTotalTermFreq, long sumDocFreq, int docCount)
            {
                if (termCount > 0)
                {
                    @out.writeVInt(termCount);
                    @out.writeVInt(field.number);
                    if (field.IndexOptions != IndexOptions.DOCS_ONLY)
                    {
                        @out.writeVLong(sumTotalTermFreq);
                    }
                    @out.writeVLong(sumDocFreq);
                    @out.writeVInt(docCount);
                    FST <BytesRef> fst = builder.finish();
                    fst.save(@out);
                    //System.out.println("finish field=" + field.name + " fp=" + out.getFilePointer());
                }
            }
コード例 #2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: private void addPositions(final org.apache.lucene.index.DocsAndPositionsEnum in, final org.apache.lucene.store.IndexOutput out) throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
            internal virtual void addPositions(DocsAndPositionsEnum @in, IndexOutput @out)
            {
                int freq = @in.freq();

                @out.writeVInt(freq);
                int previousPosition  = 0;
                int previousEndOffset = 0;

                for (int i = 0; i < freq; i++)
                {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int pos = in.nextPosition();
                    int pos = @in.nextPosition();
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.apache.lucene.util.BytesRef payload = in.getPayload();
                    BytesRef payload = @in.Payload;
                    // The low-order bit of token is set only if there is a payload, the
                    // previous bits are the delta-encoded position.
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int token = (pos - previousPosition) << 1 | (payload == null ? 0 : 1);
                    int token = (pos - previousPosition) << 1 | (payload == null ? 0 : 1);
                    @out.writeVInt(token);
                    previousPosition = pos;
                    if (storeOffsets)     // don't encode offsets if they are not stored
                    {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int startOffset = in.startOffset();
                        int startOffset = @in.startOffset();
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int endOffset = in.endOffset();
                        int endOffset = @in.endOffset();
                        @out.writeVInt(startOffset - previousEndOffset);
                        @out.writeVInt(endOffset - startOffset);
                        previousEndOffset = endOffset;
                    }
                    if (payload != null)
                    {
                        @out.writeVInt(payload.length);
                        @out.writeBytes(payload.bytes, payload.offset, payload.length);
                    }
                }
            }
コード例 #3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void close() throws java.io.IOException
            public override void close()
            {
                // EOF marker:
                try
                {
                    @out.writeVInt(0);
                    CodecUtil.writeFooter(@out);
                }
                finally
                {
                    @out.close();
                }
            }