当前位置: 首页>>代码示例>>Java>>正文


Java InternalAggregation类代码示例

本文整理汇总了Java中org.elasticsearch.search.aggregations.InternalAggregation的典型用法代码示例。如果您正苦于以下问题:Java InternalAggregation类的具体用法?Java InternalAggregation怎么用?Java InternalAggregation使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


InternalAggregation类属于org.elasticsearch.search.aggregations包,在下文中一共展示了InternalAggregation类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    InternalCardinality reduced = null;
    for (InternalAggregation aggregation : aggregations) {
        final InternalCardinality cardinality = (InternalCardinality) aggregation;
        if (cardinality.counts != null) {
            if (reduced == null) {
                reduced = new InternalCardinality(name, new HyperLogLogPlusPlus(cardinality.counts.precision(),
                        BigArrays.NON_RECYCLING_INSTANCE, 1), pipelineAggregators(), getMetaData());
            }
            reduced.merge(cardinality);
        }
    }

    if (reduced == null) { // all empty
        return aggregations.get(0);
    } else {
        return reduced;
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:InternalCardinality.java

示例2: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) throws IOException {
    assert owningBucketOrdinal == 0;
    List<InternalDateHistogram.Bucket> buckets = new ArrayList<>((int) bucketOrds.size());
    for (long i = 0; i < bucketOrds.size(); i++) {
        buckets.add(new InternalDateHistogram.Bucket(bucketOrds.get(i), bucketDocCount(i), keyed, formatter, bucketAggregations(i)));
    }

    // the contract of the histogram aggregation is that shards must return buckets ordered by key in ascending order
    CollectionUtil.introSort(buckets, InternalOrder.KEY_ASC.comparator());

    // value source will be null for unmapped fields
    InternalDateHistogram.EmptyBucketInfo emptyBucketInfo = minDocCount == 0
            ? new InternalDateHistogram.EmptyBucketInfo(rounding, buildEmptySubAggregations(), extendedBounds)
            : null;
    return new InternalDateHistogram(name, buckets, order, minDocCount, offset, emptyBucketInfo, formatter, keyed,
            pipelineAggregators(), metaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:19,代码来源:DateHistogramAggregator.java

示例3: wrap

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
/**
 * Wrap the provided aggregator so that it behaves (almost) as if it had
 * been collected directly.
 */
@Override
public Aggregator wrap(final Aggregator in) {

    return new WrappedAggregator(in) {

        @Override
        public InternalAggregation buildAggregation(long bucket) throws IOException {
            if (selectedBuckets == null) {
                throw new IllegalStateException("Collection has not been replayed yet.");
            }
            final long rebasedBucket = selectedBuckets.find(bucket);
            if (rebasedBucket == -1) {
                throw new IllegalStateException("Cannot build for a bucket which has not been collected");
            }
            return in.buildAggregation(rebasedBucket);
        }

    };
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:24,代码来源:BestBucketsDeferringCollector.java

示例4: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    InternalCardinality reduced = null;
    for (InternalAggregation aggregation : aggregations) {
        final InternalCardinality cardinality = (InternalCardinality) aggregation;
        if (cardinality.counts != null) {
            if (reduced == null) {
                reduced = new InternalCardinality(name, new HyperLogLogPlusPlus(cardinality.counts.precision(),
                        BigArrays.NON_RECYCLING_INSTANCE, 1), this.valueFormatter, pipelineAggregators(), getMetaData());
            }
            reduced.merge(cardinality);
        }
    }

    if (reduced == null) { // all empty
        return aggregations.get(0);
    } else {
        return reduced;
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:21,代码来源:InternalCardinality.java

示例5: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    List<Bucket> reducedBuckets = reduceBuckets(aggregations, reduceContext);

    // adding empty buckets if needed
    if (minDocCount == 0) {
        addEmptyBuckets(reducedBuckets, reduceContext);
    }

    if (order == InternalOrder.KEY_ASC || reduceContext.isFinalReduce() == false) {
        // nothing to do, data are already sorted since shards return
        // sorted buckets and the merge-sort performed by reduceBuckets
        // maintains order
    } else if (order == InternalOrder.KEY_DESC) {
        // we just need to reverse here...
        List<Bucket> reverse = new ArrayList<>(reducedBuckets);
        Collections.reverse(reverse);
        reducedBuckets = reverse;
    } else {
        // sorted by sub-aggregation, need to fall back to a costly n*log(n) sort
        CollectionUtil.introSort(reducedBuckets, order.comparator());
    }

    return new InternalHistogram(getName(), reducedBuckets, order, minDocCount, emptyBucketInfo, format, keyed, pipelineAggregators(),
            getMetaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:27,代码来源:InternalHistogram.java

示例6: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) {
    DoubleHistogram state = getState(owningBucketOrdinal);
    if (state == null) {
        return buildEmptyAggregation();
    } else {
        return new InternalHDRPercentileRanks(name, keys, state, keyed, formatter, pipelineAggregators(), metaData());
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:10,代码来源:HDRPercentileRanksAggregator.java

示例7: buildEmptyAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildEmptyAggregation() {
    EmptyBucketInfo emptyBucketInfo = null;
    if (minDocCount == 0) {
        emptyBucketInfo = new EmptyBucketInfo(interval, offset, minBound, maxBound, buildEmptySubAggregations());
    }
    return new InternalHistogram(name, Collections.emptyList(), order, minDocCount, emptyBucketInfo, formatter, keyed, pipelineAggregators(), metaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:9,代码来源:HistogramAggregator.java

示例8: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) {
    Object aggregation;
    if (combineScript != null) {
        aggregation = combineScript.run();
    } else {
        aggregation = params.get("_agg");
    }
    return new InternalScriptedMetric(name, aggregation, reduceScript, pipelineAggregators(),
            metaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:12,代码来源:ScriptedMetricAggregator.java

示例9: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) {
    if (valuesSource == null) {
        return buildEmptyAggregation();
    }
    double top = tops.get(owningBucketOrdinal);
    double bottom = bottoms.get(owningBucketOrdinal);
    double posLeft = posLefts.get(owningBucketOrdinal);
    double posRight = posRights.get(owningBucketOrdinal);
    double negLeft = negLefts.get(owningBucketOrdinal);
    double negRight = negRights.get(owningBucketOrdinal);
    return new InternalGeoBounds(name, top, bottom, posLeft, posRight, negLeft, negRight, wrapLongitude, pipelineAggregators(), metaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:14,代码来源:GeoBoundsAggregator.java

示例10: createAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation createAggregation(List<MultiBucketsAggregation.Bucket> buckets) {
    // convert buckets to the right type
    List<Bucket> buckets2 = new ArrayList<>(buckets.size());
    for (Object b : buckets) {
        buckets2.add((Bucket) b);
    }
    buckets2 = Collections.unmodifiableList(buckets2);
    return new InternalDateHistogram(name, buckets2, order, minDocCount, offset, emptyBucketInfo, format,
            keyed, pipelineAggregators(), getMetaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:12,代码来源:InternalDateHistogram.java

示例11: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) {
    DoubleHistogram state = getState(owningBucketOrdinal);
    if (state == null) {
        return buildEmptyAggregation();
    } else {
        return new InternalHDRPercentiles(name, keys, state, keyed, format, pipelineAggregators(), metaData());
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:10,代码来源:HDRPercentilesAggregator.java

示例12: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    for (InternalAggregation agg : aggregations) {
        if (!(agg instanceof UnmappedSampler)) {
            return agg.reduce(aggregations, reduceContext);
        }
    }
    return this;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:10,代码来源:UnmappedSampler.java

示例13: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalSum doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    double sum = 0;
    for (InternalAggregation aggregation : aggregations) {
        sum += ((InternalSum) aggregation).sum;
    }
    return new InternalSum(name, sum, valueFormatter, pipelineAggregators(), getMetaData());
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:9,代码来源:InternalSum.java

示例14: doReduce

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public AbstractInternalTDigestPercentiles doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) {
    TDigestState merged = null;
    for (InternalAggregation aggregation : aggregations) {
        final AbstractInternalTDigestPercentiles percentiles = (AbstractInternalTDigestPercentiles) aggregation;
        if (merged == null) {
            merged = new TDigestState(percentiles.state.compression());
        }
        merged.add(percentiles.state);
    }
    return createReduced(getName(), keys, merged, keyed, pipelineAggregators(), getMetaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:13,代码来源:AbstractInternalTDigestPercentiles.java

示例15: buildAggregation

import org.elasticsearch.search.aggregations.InternalAggregation; //导入依赖的package包/类
@Override
public InternalAggregation buildAggregation(long owningBucketOrdinal) {
    if (counts == null || owningBucketOrdinal >= counts.maxBucket() || counts.cardinality(owningBucketOrdinal) == 0) {
        return buildEmptyAggregation();
    }
    // We need to build a copy because the returned Aggregation needs remain usable after
    // this Aggregator (and its HLL++ counters) is released.
    HyperLogLogPlusPlus copy = new HyperLogLogPlusPlus(precision, BigArrays.NON_RECYCLING_INSTANCE, 1);
    copy.merge(0, counts, owningBucketOrdinal);
    return new InternalCardinality(name, copy, pipelineAggregators(), metaData());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:12,代码来源:CardinalityAggregator.java


注:本文中的org.elasticsearch.search.aggregations.InternalAggregation类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。