Beispiel #1
0
                /// <summary>
                /// Load current stats shard </summary>
                internal void RefillStats()
                {
                    var offset  = statsBlockOrd * outerInstance.numSkipInfo;
                    var statsFP = (int)outerInstance.skipInfo[offset];

                    statsReader.Position = statsFP;
                    for (int i = 0; i < INTERVAL && !statsReader.Eof(); i++)
                    {
                        int code = statsReader.ReadVInt();
                        if (outerInstance.HasFreqs())
                        {
                            docFreq_Renamed[i] = ((int)((uint)code >> 1));
                            if ((code & 1) == 1)
                            {
                                totalTermFreq_Renamed[i] = docFreq_Renamed[i];
                            }
                            else
                            {
                                totalTermFreq_Renamed[i] = docFreq_Renamed[i] + statsReader.ReadVLong();
                            }
                        }
                        else
                        {
                            docFreq_Renamed[i] = code;
                        }
                    }
                }
Beispiel #2
0
                internal BaseTermsEnum(TermsReader outerInstance)
                {
                    this.outerInstance = outerInstance;
                    this.state         = outerInstance.outerInstance.postingsReader.NewTermState();
                    this.term          = null;
                    this.statsReader.Reset(outerInstance.statsBlock);
                    this.metaLongsReader.Reset(outerInstance.metaLongsBlock);
                    this.metaBytesReader.Reset(outerInstance.metaBytesBlock);

                    this.longs                 = RectangularArrays.ReturnRectangularLongArray(INTERVAL, outerInstance.longsSize);
                    this.bytesStart            = new int[INTERVAL];
                    this.bytesLength           = new int[INTERVAL];
                    this.docFreq_Renamed       = new int[INTERVAL];
                    this.totalTermFreq_Renamed = new long[INTERVAL];
                    this.statsBlockOrd         = -1;
                    this.metaBlockOrd          = -1;
                    if (!outerInstance.HasFreqs())
                    {
                        Arrays.Fill(totalTermFreq_Renamed, -1);
                    }
                }