private SegmentTermVector[] ReadTermVectors(int docNum, System.String[] fields, long[] tvfPointers) { SegmentTermVector[] res = new SegmentTermVector[fields.Length]; for (int i = 0; i < fields.Length; i++) { var mapper = new ParallelArrayTermVectorMapper(); mapper.SetDocumentNumber(docNum); ReadTermVector(fields[i], tvfPointers[i], mapper); res[i] = (SegmentTermVector)mapper.MaterializeVector(); } return(res); }
/// <summary> Construct the vector</summary> /// <returns> The <see cref="ITermFreqVector" /> based on the mappings. /// </returns> public virtual ITermFreqVector MaterializeVector() { SegmentTermVector tv = null; if (field != null && terms != null) { if (storingPositions || storingOffsets) { tv = new SegmentTermPositionVector(field, terms, termFreqs, positions, offsets); } else { tv = new SegmentTermVector(field, terms, termFreqs); } } return(tv); }