use of org.elasticsearch.search.aggregations.bucket.global.GlobalAggregationBuilder in project fess by codelibs.
the class BsClickLogCA method global.
public void global(String name, ConditionOptionCall<GlobalAggregationBuilder> opLambda, OperatorCall<BsClickLogCA> aggsLambda) {
GlobalAggregationBuilder builder = regGlobalA(name);
if (opLambda != null) {
opLambda.callback(builder);
}
if (aggsLambda != null) {
ClickLogCA ca = new ClickLogCA();
aggsLambda.callback(ca);
ca.getAggregationBuilderList().forEach(builder::subAggregation);
}
}
use of org.elasticsearch.search.aggregations.bucket.global.GlobalAggregationBuilder in project fess by codelibs.
the class BsGroupCA method global.
public void global(String name, ConditionOptionCall<GlobalAggregationBuilder> opLambda, OperatorCall<BsGroupCA> aggsLambda) {
GlobalAggregationBuilder builder = regGlobalA(name);
if (opLambda != null) {
opLambda.callback(builder);
}
if (aggsLambda != null) {
GroupCA ca = new GroupCA();
aggsLambda.callback(ca);
ca.getAggregationBuilderList().forEach(builder::subAggregation);
}
}
use of org.elasticsearch.search.aggregations.bucket.global.GlobalAggregationBuilder in project fess by codelibs.
the class BsRoleCA method global.
public void global(String name, ConditionOptionCall<GlobalAggregationBuilder> opLambda, OperatorCall<BsRoleCA> aggsLambda) {
GlobalAggregationBuilder builder = regGlobalA(name);
if (opLambda != null) {
opLambda.callback(builder);
}
if (aggsLambda != null) {
RoleCA ca = new RoleCA();
aggsLambda.callback(ca);
ca.getAggregationBuilderList().forEach(builder::subAggregation);
}
}
use of org.elasticsearch.search.aggregations.bucket.global.GlobalAggregationBuilder in project elasticsearch by elastic.
the class GlobalAggregatorTests method testCase.
// Note that `global`'s fancy support for ignoring the query comes from special code in AggregationPhase. We don't test that here.
private void testCase(CheckedConsumer<RandomIndexWriter, IOException> buildIndex, BiConsumer<InternalGlobal, InternalMin> verify) throws IOException {
Directory directory = newDirectory();
RandomIndexWriter indexWriter = new RandomIndexWriter(random(), directory);
buildIndex.accept(indexWriter);
indexWriter.close();
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = newSearcher(indexReader, true, true);
GlobalAggregationBuilder aggregationBuilder = new GlobalAggregationBuilder("_name");
aggregationBuilder.subAggregation(new MinAggregationBuilder("in_global").field("number"));
MappedFieldType fieldType = new NumberFieldMapper.NumberFieldType(NumberFieldMapper.NumberType.LONG);
fieldType.setName("number");
try (GlobalAggregator aggregator = createAggregator(aggregationBuilder, indexSearcher, fieldType)) {
try {
aggregator.preCollection();
indexSearcher.search(new MatchAllDocsQuery(), aggregator);
aggregator.postCollection();
InternalGlobal result = (InternalGlobal) aggregator.buildAggregation(0L);
verify.accept(result, (InternalMin) result.getAggregations().asMap().get("in_global"));
} finally {
IOUtils.close(aggregator.subAggregators());
}
}
indexReader.close();
directory.close();
}
use of org.elasticsearch.search.aggregations.bucket.global.GlobalAggregationBuilder in project fess by codelibs.
the class EsAbstractConditionAggregation method regGlobalA.
protected GlobalAggregationBuilder regGlobalA(String name) {
GlobalAggregationBuilder builder = AggregationBuilders.global(name);
regA(builder);
return builder;
}
Aggregations