Lucene.Net.Index.SortedDocValuesWriter.Flush C# (CSharp) Метод

Flush() приватный Метод

private Flush ( Lucene.Net.Index.SegmentWriteState state, DocValuesConsumer dvConsumer ) : void
state Lucene.Net.Index.SegmentWriteState
dvConsumer Lucene.Net.Codecs.DocValuesConsumer
Результат void
        internal override void Flush(SegmentWriteState state, DocValuesConsumer dvConsumer)
        {
            int maxDoc = state.SegmentInfo.DocCount;

            Debug.Assert(Pending.Size() == maxDoc);
            int valueCount = Hash.Size();

            int[] sortedValues = Hash.Sort(BytesRef.UTF8SortedAsUnicodeComparer);
            int[] ordMap = new int[valueCount];

            for (int ord = 0; ord < valueCount; ord++)
            {
                ordMap[sortedValues[ord]] = ord;
            }

            dvConsumer.AddSortedField(FieldInfo, GetBytesRefEnumberable(valueCount, sortedValues),
                // doc -> ord
                                      GetOrdsEnumberable(maxDoc, ordMap));
        }