@Override public void flush(SegmentWriteState state, Sorter.DocMap sortMap, DocValuesConsumer dvConsumer) throws IOException { final PackedLongValues values; if (finalValues == null) { values = pending.build(); } else { values = finalValues; } final SortingLeafReader.CachedNumericDVs sorted; if (sortMap != null) { NumericDocValues oldValues = new BufferedNumericDocValues(values, docsWithField.iterator()); sorted = sortDocValues(state.segmentInfo.maxDoc(), sortMap, oldValues); } else { sorted = null; } dvConsumer.addNumericField(fieldInfo, new EmptyDocValuesProducer() { @Override public NumericDocValues getNumeric(FieldInfo fieldInfo) { if (fieldInfo != NumericDocValuesWriter.this.fieldInfo) { throw new IllegalArgumentException("wrong fieldInfo"); } if (sorted == null) { return new BufferedNumericDocValues(values, docsWithField.iterator()); } else { return new SortingLeafReader.SortingNumericDocValues(sorted); } } }); }
final SortingLeafReader.CachedNumericDVs sorted; if (sortMap != null) { sorted = NumericDocValuesWriter.sortDocValues(state.segmentInfo.maxDoc(), sortMap, new BufferedNorms(values, docsWithField.iterator())); } else {
@Override public void flush(SegmentWriteState state, Sorter.DocMap sortMap, DocValuesConsumer dvConsumer) throws IOException { final PackedLongValues values; if (finalValues == null) { values = pending.build(); } else { values = finalValues; } final SortingLeafReader.CachedNumericDVs sorted; if (sortMap != null) { NumericDocValues oldValues = new BufferedNumericDocValues(values, docsWithField.iterator()); sorted = sortDocValues(state.segmentInfo.maxDoc(), sortMap, oldValues); } else { sorted = null; } dvConsumer.addNumericField(fieldInfo, new EmptyDocValuesProducer() { @Override public NumericDocValues getNumeric(FieldInfo fieldInfo) { if (fieldInfo != NumericDocValuesWriter.this.fieldInfo) { throw new IllegalArgumentException("wrong fieldInfo"); } if (sorted == null) { return new BufferedNumericDocValues(values, docsWithField.iterator()); } else { return new SortingLeafReader.SortingNumericDocValues(sorted); } } }); }
final SortingLeafReader.CachedNumericDVs sorted; if (sortMap != null) { sorted = NumericDocValuesWriter.sortDocValues(state.segmentInfo.maxDoc(), sortMap, new BufferedNorms(values, docsWithField.iterator())); } else {