addBinaryField(mergeFieldInfo, new EmptyDocValuesProducer() { @Override
addNumericField(mergeFieldInfo, new EmptyDocValuesProducer() { @Override
@Override public void addSortedField(FieldInfo field, DocValuesProducer valuesProducer) throws IOException { getInstance(field).addSortedField(field, valuesProducer); }
if (type != DocValuesType.NONE) { if (type == DocValuesType.NUMERIC) { mergeNumericField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.BINARY) { mergeBinaryField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED) { mergeSortedField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED_SET) { mergeSortedSetField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED_NUMERIC) { mergeSortedNumericField(mergeFieldInfo, mergeState); } else { throw new AssertionError("type=" + type);
pendingDeletes.onDocValuesUpdate(fieldInfo, updateSupplier.apply(fieldInfo)); if (type == DocValuesType.BINARY) { fieldsConsumer.addBinaryField(fieldInfo, new EmptyDocValuesProducer() { @Override public BinaryDocValues getBinary(FieldInfo fieldInfoIn) throws IOException { } else { fieldsConsumer.addNumericField(fieldInfo, new EmptyDocValuesProducer() { @Override public NumericDocValues getNumeric(FieldInfo fieldInfoIn) throws IOException {
addSortedNumericField(mergeFieldInfo, new EmptyDocValuesProducer() { @Override
@Override public void addSortedSetField(FieldInfo field, DocValuesProducer valuesProducer) throws IOException { getInstance(field).addSortedSetField(field, valuesProducer); }
private void mergeDocValues(SegmentWriteState segmentWriteState) throws IOException { try (DocValuesConsumer consumer = codec.docValuesFormat().fieldsConsumer(segmentWriteState)) { consumer.merge(mergeState); } }
@Override public void close() throws IOException { consumer.close(); } }
assert isSingleValued(docToValueCount); return new Iterable<Number>() {
if (type != DocValuesType.NONE) { if (type == DocValuesType.NUMERIC) { mergeNumericField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.BINARY) { mergeBinaryField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED) { mergeSortedField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED_SET) { mergeSortedSetField(mergeFieldInfo, mergeState); } else if (type == DocValuesType.SORTED_NUMERIC) { mergeSortedNumericField(mergeFieldInfo, mergeState); } else { throw new AssertionError("type=" + type);
@Override public void addSortedNumericField(FieldInfo field, DocValuesProducer valuesProducer) throws IOException { getInstance(field).addSortedNumericField(field, valuesProducer); }
addSortedSetField(mergeFieldInfo, new EmptyDocValuesProducer() { @Override
pendingDeletes.onDocValuesUpdate(fieldInfo, updateSupplier.apply(fieldInfo)); if (type == DocValuesType.BINARY) { fieldsConsumer.addBinaryField(fieldInfo, new EmptyDocValuesProducer() { @Override public BinaryDocValues getBinary(FieldInfo fieldInfoIn) throws IOException { } else { fieldsConsumer.addNumericField(fieldInfo, new EmptyDocValuesProducer() { @Override public NumericDocValues getNumeric(FieldInfo fieldInfoIn) throws IOException {
@Override public void merge(MergeState mergeState) throws IOException { Map<DocValuesConsumer, Collection<String>> consumersToField = new IdentityHashMap<>(); // Group each consumer by the fields it handles for (FieldInfo fi : mergeState.mergeFieldInfos) { DocValuesConsumer consumer = getInstance(fi); Collection<String> fieldsForConsumer = consumersToField.get(consumer); if (fieldsForConsumer == null) { fieldsForConsumer = new ArrayList<>(); consumersToField.put(consumer, fieldsForConsumer); } fieldsForConsumer.add(fi.name); } // Delegate the merge to the appropriate consumer PerFieldMergeState pfMergeState = new PerFieldMergeState(mergeState); try { for (Map.Entry<DocValuesConsumer, Collection<String>> e : consumersToField.entrySet()) { e.getKey().merge(pfMergeState.apply(e.getValue())); } } finally { pfMergeState.reset(); } }
@Override public void close() throws IOException { consumer.close(); } }
assert isSingleValued(docToValueCount); return new Iterable<Number>() {
docsWithField.add(bits); mergeNumericField(mergeFieldInfo, mergeState, toMerge, docsWithField); } else if (type == DocValuesType.BINARY) { List<BinaryDocValues> toMerge = new ArrayList<>(); docsWithField.add(bits); mergeBinaryField(mergeFieldInfo, mergeState, toMerge, docsWithField); } else if (type == DocValuesType.SORTED) { List<SortedDocValues> toMerge = new ArrayList<>(); mergeSortedField(mergeFieldInfo, mergeState, toMerge); } else if (type == DocValuesType.SORTED_SET) { List<SortedSetDocValues> toMerge = new ArrayList<>(); mergeSortedSetField(mergeFieldInfo, mergeState, toMerge); } else if (type == DocValuesType.SORTED_NUMERIC) { List<SortedNumericDocValues> toMerge = new ArrayList<>(); mergeSortedNumericField(mergeFieldInfo, mergeState, toMerge); } else { throw new AssertionError("type=" + type);
@Override public void addBinaryField(FieldInfo field, DocValuesProducer valuesProducer) throws IOException { getInstance(field).addBinaryField(field, valuesProducer); }
dvConsumer.addSortedNumericField(fieldInfo, new EmptyDocValuesProducer() { @Override