当前位置: 首页>>代码示例>>C#>>正文


C# Lucene.Net.Store.IndexInput.ReadVInt方法代码示例

本文整理汇总了C#中Lucene.Net.Store.IndexInput.ReadVInt方法的典型用法代码示例。如果您正苦于以下问题:C# Lucene.Net.Store.IndexInput.ReadVInt方法的具体用法?C# Lucene.Net.Store.IndexInput.ReadVInt怎么用?C# Lucene.Net.Store.IndexInput.ReadVInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Lucene.Net.Store.IndexInput的用法示例。


在下文中一共展示了Lucene.Net.Store.IndexInput.ReadVInt方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Read

        public void Read(IndexInput input, FieldInfos fieldInfos)
        {
            this.term = null; // invalidate cache
            int start = input.ReadVInt();
            int length = input.ReadVInt();
            int totalLength = start + length;
            if (preUTF8Strings)
            {
                text.SetLength(totalLength);
                input.ReadChars(text.result, start, length);
            }
            else
            {

                if (dirty)
                {
                    // Fully convert all bytes since bytes is dirty
                    UnicodeUtil.UTF16toUTF8(text.result, 0, text.length, bytes);
                    bytes.SetLength(totalLength);
                    input.ReadBytes(bytes.result, start, length);
                    UnicodeUtil.UTF8toUTF16(bytes.result, 0, totalLength, text);
                    dirty = false;
                }
                else
                {
                    // Incrementally convert only the UTF8 bytes that are new:
                    bytes.SetLength(totalLength);
                    input.ReadBytes(bytes.result, start, length);
                    UnicodeUtil.UTF8toUTF16(bytes.result, start, length, text);
                }
            }
            this.field = fieldInfos.FieldName(input.ReadVInt());
        }
开发者ID:sinsay,项目名称:SSE,代码行数:33,代码来源:TermBuffer.cs

示例2: Read

		public void  Read(IndexInput input, FieldInfos fieldInfos)
		{
			this.term = null; // invalidate cache
			int start = input.ReadVInt();
			int length = input.ReadVInt();
			int totalLength = start + length;
			SetTextLength(totalLength);
			input.ReadChars(this.text, start, length);
			this.field = fieldInfos.FieldName(input.ReadVInt());
		}
开发者ID:vikasraz,项目名称:indexsearchutils,代码行数:10,代码来源:TermBuffer.cs

示例3: CompoundFileReader

		public CompoundFileReader(Directory dir, System.String name, int readBufferSize)
		{
			directory = dir;
			fileName = name;
			this.readBufferSize = readBufferSize;
			
			bool success = false;
			
			try
			{
				stream = dir.OpenInput(name, readBufferSize);
				
				// read the directory and init files
				int count = stream.ReadVInt();
				FileEntry entry = null;
				for (int i = 0; i < count; i++)
				{
					long offset = stream.ReadLong();
					System.String id = stream.ReadString();
					
					if (entry != null)
					{
						// set length of the previous entry
						entry.length = offset - entry.offset;
					}
					
					entry = new FileEntry();
					entry.offset = offset;
					entries[id] = entry;
				}
				
				// set the length of the final entry
				if (entry != null)
				{
					entry.length = stream.Length() - entry.offset;
				}
				
				success = true;
			}
			finally
			{
				if (!success && (stream != null))
				{
					try
					{
						stream.Close();
					}
					catch (System.IO.IOException e)
					{
					}
				}
			}
		}
开发者ID:Mpdreamz,项目名称:lucene.net,代码行数:53,代码来源:CompoundFileReader.cs

示例4: Read

 public void Read(IndexInput input, FieldInfos fieldInfos)
 {
     this.Term = null; // invalidate cache
     NewSuffixStart = input.ReadVInt();
     int length = input.ReadVInt();
     int totalLength = NewSuffixStart + length;
     Debug.Assert(totalLength <= ByteBlockPool.BYTE_BLOCK_SIZE - 2, "termLength=" + totalLength + ",resource=" + input);
     if (Bytes.Bytes.Length < totalLength)
     {
         Bytes.Grow(totalLength);
     }
     Bytes.Length = totalLength;
     input.ReadBytes(Bytes.Bytes, NewSuffixStart, length);
     int fieldNumber = input.ReadVInt();
     if (fieldNumber != CurrentFieldNumber)
     {
         CurrentFieldNumber = fieldNumber;
         // NOTE: too much sneakiness here, seriously this is a negative vint?!
         if (CurrentFieldNumber == -1)
         {
             Field = "";
         }
         else
         {
             Debug.Assert(fieldInfos.FieldInfo(CurrentFieldNumber) != null, CurrentFieldNumber.ToString());
             Field = String.Intern(fieldInfos.FieldInfo(CurrentFieldNumber).Name);
         }
     }
     else
     {
         Debug.Assert(Field.Equals(fieldInfos.FieldInfo(fieldNumber).Name), "currentFieldNumber=" + CurrentFieldNumber + " field=" + Field + " vs " + fieldInfos.FieldInfo(fieldNumber) == null ? "null" : fieldInfos.FieldInfo(fieldNumber).Name);
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:33,代码来源:TermBuffer.cs

示例5: Read

        private void Read(IndexInput input)
        {
            int size = input.ReadVInt(); //read in the size
            for (int i = 0; i < size; i++)
            {
                System.String name = String.Intern(input.ReadString());
                byte bits = input.ReadByte();
                bool isIndexed = (bits & IS_INDEXED) != 0;
                bool storeTermVector = (bits & STORE_TERMVECTOR) != 0;
                bool storePositionsWithTermVector = (bits & STORE_POSITIONS_WITH_TERMVECTOR) != 0;
                bool storeOffsetWithTermVector = (bits & STORE_OFFSET_WITH_TERMVECTOR) != 0;
                bool omitNorms = (bits & OMIT_NORMS) != 0;

                AddInternal(name, isIndexed, storeTermVector, storePositionsWithTermVector, storeOffsetWithTermVector, omitNorms);
            }
        }
开发者ID:vineelkovvuri,项目名称:ExtendableDesktopSearch,代码行数:16,代码来源:FieldInfos.cs

示例6: CompressingStoredFieldsIndexReader

        internal readonly PackedInts.Reader[] StartPointersDeltas; // delta from the avg

        #endregion Fields

        #region Constructors

        // It is the responsibility of the caller to close fieldsIndexIn after this constructor
        // has been called
        internal CompressingStoredFieldsIndexReader(IndexInput fieldsIndexIn, SegmentInfo si)
        {
            MaxDoc = si.DocCount;
            int[] docBases = new int[16];
            long[] startPointers = new long[16];
            int[] avgChunkDocs = new int[16];
            long[] avgChunkSizes = new long[16];
            PackedInts.Reader[] docBasesDeltas = new PackedInts.Reader[16];
            PackedInts.Reader[] startPointersDeltas = new PackedInts.Reader[16];

            int packedIntsVersion = fieldsIndexIn.ReadVInt();

            int blockCount = 0;

            for (; ; )
            {
                int numChunks = fieldsIndexIn.ReadVInt();
                if (numChunks == 0)
                {
                    break;
                }
                if (blockCount == docBases.Length)
                {
                    int newSize = ArrayUtil.Oversize(blockCount + 1, 8);
                    docBases = Arrays.CopyOf(docBases, newSize);
                    startPointers = Arrays.CopyOf(startPointers, newSize);
                    avgChunkDocs = Arrays.CopyOf(avgChunkDocs, newSize);
                    avgChunkSizes = Arrays.CopyOf(avgChunkSizes, newSize);
                    docBasesDeltas = Arrays.CopyOf(docBasesDeltas, newSize);
                    startPointersDeltas = Arrays.CopyOf(startPointersDeltas, newSize);
                }

                // doc bases
                docBases[blockCount] = fieldsIndexIn.ReadVInt();
                avgChunkDocs[blockCount] = fieldsIndexIn.ReadVInt();
                int bitsPerDocBase = fieldsIndexIn.ReadVInt();
                if (bitsPerDocBase > 32)
                {
                    throw new CorruptIndexException("Corrupted bitsPerDocBase (resource=" + fieldsIndexIn + ")");
                }
                docBasesDeltas[blockCount] = PackedInts.GetReaderNoHeader(fieldsIndexIn, PackedInts.Format.PACKED, packedIntsVersion, numChunks, bitsPerDocBase);

                // start pointers
                startPointers[blockCount] = fieldsIndexIn.ReadVLong();
                avgChunkSizes[blockCount] = fieldsIndexIn.ReadVLong();
                int bitsPerStartPointer = fieldsIndexIn.ReadVInt();
                if (bitsPerStartPointer > 64)
                {
                    throw new CorruptIndexException("Corrupted bitsPerStartPointer (resource=" + fieldsIndexIn + ")");
                }
                startPointersDeltas[blockCount] = PackedInts.GetReaderNoHeader(fieldsIndexIn, PackedInts.Format.PACKED, packedIntsVersion, numChunks, bitsPerStartPointer);

                ++blockCount;
            }

            this.DocBases = Arrays.CopyOf(docBases, blockCount);
            this.StartPointers = Arrays.CopyOf(startPointers, blockCount);
            this.AvgChunkDocs = Arrays.CopyOf(avgChunkDocs, blockCount);
            this.AvgChunkSizes = Arrays.CopyOf(avgChunkSizes, blockCount);
            this.DocBasesDeltas = Arrays.CopyOf(docBasesDeltas, blockCount);
            this.StartPointersDeltas = Arrays.CopyOf(startPointersDeltas, blockCount);
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:70,代码来源:CompressingStoredFieldsIndexReader.cs

示例7: ReadSetDgaps

 /// <summary>
 /// read as a d-gaps list </summary>
 private void ReadSetDgaps(IndexInput input)
 {
     Size_Renamed = input.ReadInt(); // (re)read size
     Count_Renamed = input.ReadInt(); // read count
     Bits = new byte[GetNumBytes(Size_Renamed)]; // allocate bits
     int last = 0;
     int n = Count();
     while (n > 0)
     {
         last += input.ReadVInt();
         Bits[last] = input.ReadByte();
         n -= BitUtil.BitCount(Bits[last]);
         Debug.Assert(n >= 0);
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:17,代码来源:BitVector.cs

示例8: ReadSkipData

        protected internal override int ReadSkipData(int level, IndexInput skipStream)
        {
            int delta;
            if (currentFieldStoresPayloads)
            {
                // the current field stores payloads.
                // if the doc delta is odd then we have
                // to read the current payload length
                // because it differs from the length of the
                // previous payload
                delta = skipStream.ReadVInt();
                if ((delta & 1) != 0)
                {
                    payloadLength[level] = skipStream.ReadVInt();
                }
                delta = SupportClass.Number.URShift(delta, 1);
            }
            else
            {
                delta = skipStream.ReadVInt();
            }
            freqPointer[level] += skipStream.ReadVInt();
            proxPointer[level] += skipStream.ReadVInt();

            return delta;
        }
开发者ID:sinsay,项目名称:SSE,代码行数:26,代码来源:DefaultSkipListReader.cs

示例9: ReadFields

 private void ReadFields(IndexInput meta, FieldInfos infos)
 {
     int fieldNumber = meta.ReadVInt();
     while (fieldNumber != -1)
     {
         // check should be: infos.fieldInfo(fieldNumber) != null, which incorporates negative check
         // but docvalues updates are currently buggy here (loading extra stuff, etc): LUCENE-5616
         if (fieldNumber < 0)
         {
             // trickier to validate more: because we re-use for norms, because we use multiple entries
             // for "composite" types like sortedset, etc.
             throw new Exception("Invalid field number: " + fieldNumber + " (resource=" + meta + ")");
         }
         byte type = meta.ReadByte();
         if (type == Lucene45DocValuesFormat.NUMERIC)
         {
             Numerics[fieldNumber] = ReadNumericEntry(meta);
         }
         else if (type == Lucene45DocValuesFormat.BINARY)
         {
             BinaryEntry b = ReadBinaryEntry(meta);
             Binaries[fieldNumber] = b;
         }
         else if (type == Lucene45DocValuesFormat.SORTED)
         {
             ReadSortedField(fieldNumber, meta, infos);
         }
         else if (type == Lucene45DocValuesFormat.SORTED_SET)
         {
             SortedSetEntry ss = ReadSortedSetEntry(meta);
             SortedSets[fieldNumber] = ss;
             if (ss.Format == Lucene45DocValuesConsumer.SORTED_SET_WITH_ADDRESSES)
             {
                 ReadSortedSetFieldWithAddresses(fieldNumber, meta, infos);
             }
             else if (ss.Format == Lucene45DocValuesConsumer.SORTED_SET_SINGLE_VALUED_SORTED)
             {
                 if (meta.ReadVInt() != fieldNumber)
                 {
                     throw new Exception("sortedset entry for field: " + fieldNumber + " is corrupt (resource=" + meta + ")");
                 }
                 if (meta.ReadByte() != Lucene45DocValuesFormat.SORTED)
                 {
                     throw new Exception("sortedset entry for field: " + fieldNumber + " is corrupt (resource=" + meta + ")");
                 }
                 ReadSortedField(fieldNumber, meta, infos);
             }
             else
             {
                 throw new Exception();
             }
         }
         else
         {
             throw new Exception("invalid type: " + type + ", resource=" + meta);
         }
         fieldNumber = meta.ReadVInt();
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:59,代码来源:Lucene45DocValuesProducer.cs

示例10: ReadSortedSetEntry

 internal virtual SortedSetEntry ReadSortedSetEntry(IndexInput meta)
 {
     SortedSetEntry entry = new SortedSetEntry();
     if (Version >= Lucene45DocValuesFormat.VERSION_SORTED_SET_SINGLE_VALUE_OPTIMIZED)
     {
         entry.Format = meta.ReadVInt();
     }
     else
     {
         entry.Format = Lucene45DocValuesConsumer.SORTED_SET_WITH_ADDRESSES;
     }
     if (entry.Format != Lucene45DocValuesConsumer.SORTED_SET_SINGLE_VALUED_SORTED && entry.Format != Lucene45DocValuesConsumer.SORTED_SET_WITH_ADDRESSES)
     {
         throw new Exception("Unknown format: " + entry.Format + ", input=" + meta);
     }
     return entry;
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:17,代码来源:Lucene45DocValuesProducer.cs

示例11: ReadNumericEntry

        internal static NumericEntry ReadNumericEntry(IndexInput meta)
        {
            NumericEntry entry = new NumericEntry();
            entry.Format = meta.ReadVInt();
            entry.MissingOffset = meta.ReadLong();
            entry.PackedIntsVersion = meta.ReadVInt();
            entry.Offset = meta.ReadLong();
            entry.Count = meta.ReadVLong();
            entry.BlockSize = meta.ReadVInt();
            switch (entry.Format)
            {
                case Lucene45DocValuesConsumer.GCD_COMPRESSED:
                    entry.MinValue = meta.ReadLong();
                    entry.Gcd = meta.ReadLong();
                    break;

                case Lucene45DocValuesConsumer.TABLE_COMPRESSED:
                    if (entry.Count > int.MaxValue)
                    {
                        throw new Exception("Cannot use TABLE_COMPRESSED with more than MAX_VALUE values, input=" + meta);
                    }
                    int uniqueValues = meta.ReadVInt();
                    if (uniqueValues > 256)
                    {
                        throw new Exception("TABLE_COMPRESSED cannot have more than 256 distinct values, input=" + meta);
                    }
                    entry.Table = new long[uniqueValues];
                    for (int i = 0; i < uniqueValues; ++i)
                    {
                        entry.Table[i] = meta.ReadLong();
                    }
                    break;

                case Lucene45DocValuesConsumer.DELTA_COMPRESSED:
                    break;

                default:
                    throw new Exception("Unknown format: " + entry.Format + ", input=" + meta);
            }
            return entry;
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:41,代码来源:Lucene45DocValuesProducer.cs

示例12: ReadBinaryEntry

        internal static BinaryEntry ReadBinaryEntry(IndexInput meta)
        {
            BinaryEntry entry = new BinaryEntry();
            entry.Format = meta.ReadVInt();
            entry.MissingOffset = meta.ReadLong();
            entry.MinLength = meta.ReadVInt();
            entry.MaxLength = meta.ReadVInt();
            entry.Count = meta.ReadVLong();
            entry.Offset = meta.ReadLong();
            switch (entry.Format)
            {
                case Lucene45DocValuesConsumer.BINARY_FIXED_UNCOMPRESSED:
                    break;

                case Lucene45DocValuesConsumer.BINARY_PREFIX_COMPRESSED:
                    entry.AddressInterval = meta.ReadVInt();
                    entry.AddressesOffset = meta.ReadLong();
                    entry.PackedIntsVersion = meta.ReadVInt();
                    entry.BlockSize = meta.ReadVInt();
                    break;

                case Lucene45DocValuesConsumer.BINARY_VARIABLE_UNCOMPRESSED:
                    entry.AddressesOffset = meta.ReadLong();
                    entry.PackedIntsVersion = meta.ReadVInt();
                    entry.BlockSize = meta.ReadVInt();
                    break;

                default:
                    throw new Exception("Unknown format: " + entry.Format + ", input=" + meta);
            }
            return entry;
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:32,代码来源:Lucene45DocValuesProducer.cs

示例13: GetDirectReader

 /// <summary>
 /// Construct a direct <seealso cref="Reader"/> from an <seealso cref="IndexInput"/>. this method
 /// is useful to restore data from streams which have been created using
 /// <seealso cref="PackedInts#getWriter(DataOutput, int, int, float)"/>.
 /// </p><p>
 /// The returned reader will have very little memory overhead, but every call
 /// to <seealso cref="Reader#get(int)"/> is likely to perform a disk seek.
 /// </summary>
 /// <param name="in">           the stream to read data from </param>
 /// <returns> a direct Reader </returns>
 /// <exception cref="IOException"> If there is a low-level I/O error
 /// @lucene.internal </exception>
 public static Reader GetDirectReader(IndexInput @in)
 {
     int version = CodecUtil.CheckHeader(@in, CODEC_NAME, VERSION_START, VERSION_CURRENT);
     int bitsPerValue = @in.ReadVInt();
     Debug.Assert(bitsPerValue > 0 && bitsPerValue <= 64, "bitsPerValue=" + bitsPerValue);
     int valueCount = @in.ReadVInt();
     Format format = Format.ById(@in.ReadVInt());
     return GetDirectReaderNoHeader(@in, format, version, valueCount, bitsPerValue);
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:21,代码来源:PackedInts.cs

示例14: ReadSkipData

        protected internal override int ReadSkipData(int level, IndexInput skipStream)
        {
            // if (DEBUG) {
            //   System.out.println("readSkipData level=" + level);
            // }
            int delta = skipStream.ReadVInt();
            // if (DEBUG) {
            //   System.out.println("  delta=" + delta);
            // }
            DocPointer_Renamed[level] += skipStream.ReadVInt();
            // if (DEBUG) {
            //   System.out.println("  docFP=" + docPointer[level]);
            // }

            if (PosPointer_Renamed != null)
            {
                PosPointer_Renamed[level] += skipStream.ReadVInt();
                // if (DEBUG) {
                //   System.out.println("  posFP=" + posPointer[level]);
                // }
                PosBufferUpto_Renamed[level] = skipStream.ReadVInt();
                // if (DEBUG) {
                //   System.out.println("  posBufferUpto=" + posBufferUpto[level]);
                // }

                if (PayloadByteUpto_Renamed != null)
                {
                    PayloadByteUpto_Renamed[level] = skipStream.ReadVInt();
                }

                if (PayPointer_Renamed != null)
                {
                    PayPointer_Renamed[level] += skipStream.ReadVInt();
                }
            }
            return delta;
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:37,代码来源:Lucene41SkipReader.cs

示例15: ReadSkipData

        protected internal override int ReadSkipData(int level, IndexInput skipStream)
        {
            int delta;
            if (CurrentFieldStoresPayloads || CurrentFieldStoresOffsets)
            {
                // the current field stores payloads and/or offsets.
                // if the doc delta is odd then we have
                // to read the current payload/offset lengths
                // because it differs from the lengths of the
                // previous payload/offset
                delta = skipStream.ReadVInt();
                if ((delta & 1) != 0)
                {
                    if (CurrentFieldStoresPayloads)
                    {
                        PayloadLength_Renamed[level] = skipStream.ReadVInt();
                    }
                    if (CurrentFieldStoresOffsets)
                    {
                        OffsetLength_Renamed[level] = skipStream.ReadVInt();
                    }
                }
                delta = (int)((uint)delta >> 1);
            }
            else
            {
                delta = skipStream.ReadVInt();
            }

            FreqPointer_Renamed[level] += skipStream.ReadVInt();
            ProxPointer_Renamed[level] += skipStream.ReadVInt();

            return delta;
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:34,代码来源:Lucene40SkipListReader.cs


注:本文中的Lucene.Net.Store.IndexInput.ReadVInt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。