internal void AddField(int fieldNumber) { if (numVectorFields == fieldNumbers.Length) { fieldNumbers = ArrayUtil.Grow(fieldNumbers); fieldPointers = ArrayUtil.Grow(fieldPointers); } fieldNumbers[numVectorFields] = fieldNumber; fieldPointers[numVectorFields] = perDocTvf.GetFilePointer(); numVectorFields++; }
internal override void Finish() { System.Diagnostics.Debug.Assert(docIDs.Length == norms.Length); if (fieldInfo.isIndexed && !fieldInfo.omitNorms) { if (docIDs.Length <= upto) { System.Diagnostics.Debug.Assert(docIDs.Length == upto); docIDs = ArrayUtil.Grow(docIDs, 1 + upto); norms = ArrayUtil.Grow(norms, 1 + upto); } float norm = docState.similarity.ComputeNorm(fieldInfo.name, fieldState); norms[upto] = Similarity.EncodeNorm(norm); docIDs[upto] = docState.docID; upto++; } }