### Description

Min/Max aggregations do not require any scaling for the random_sampler results. Additionally, if the min/max an be determined via the pointReader (i.e. not by individual doc values), we should use that as it means that sampler doesn't need to supply documents to the min/max agg, potentially speeding things up significantly and improving accuracy.

related to: https://github.com/elastic/elasticsearch/issues/84353
server/src/main/java/org/elasticsearch/search/aggregations/AggregatorBase.java
import org.elasticsearch.search.aggregations.metrics.MinAggregator;
import org.elasticsearch.search.aggregations.metrics.SumAggregator;
import org.elasticsearch.search.aggregations.support.AggregationContext;
import org.elasticsearch.search.aggregations.support.ValuesSourceConfig;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
 * Base implementation for concrete aggregators.
 */
public abstract class AggregatorBase extends Aggregator {
    
    public static final int DEFAULT_WEIGHT = 1024 * 5; 
    protected final String name;
    protected final Aggregator parent;
    private final AggregationContext context;
    private final Map<String, Object> metadata;
    protected final Aggregator[] subAggregators;
    protected BucketCollector collectableSubAggregators;
    private Map<String, Aggregator> subAggregatorbyName;
    private long requestBytesUsed;
    /**
     * Constructs a new Aggregator.
     *
     * @param name                  The name of the aggregation
     * @param factories             The factories for all the sub-aggregators under this aggregator
     * @param context               The aggregation context