|
@@ -702,11 +702,15 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}}).build();
|
|
|
builder.aggregations("Agg", aggregation);
|
|
|
|
|
|
- Aggregation cardinality = AggregationBuilders.cardinality(i -> i.field("merge_applicant.name.raw"));
|
|
|
+ //对聚合结果统计出总数
|
|
|
+ Aggregation terms = AggregationBuilders.terms(i -> i.field("merge_applicant.name.raw").size(100000));
|
|
|
+ BucketsPath bucketsPath = BucketsPath.of(i -> i.single("terms>_count"));
|
|
|
+ Aggregation statsBucket = AggregationBuilders.statsBucket(i -> i.bucketsPath(bucketsPath));
|
|
|
Aggregation totalAgg = new Aggregation.Builder().nested(new NestedAggregation.Builder().
|
|
|
path("merge_applicant").build())
|
|
|
.aggregations(new HashMap() {{
|
|
|
- put("total", cardinality);
|
|
|
+ put("terms", terms);
|
|
|
+ put("statsBucket", statsBucket);
|
|
|
}}).build();
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
|
|
@@ -735,11 +739,15 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}}).build();
|
|
|
builder.aggregations("Agg", aggregation);
|
|
|
|
|
|
- Aggregation cardinality = AggregationBuilders.cardinality(i -> i.field("merge_inventor.name.raw"));
|
|
|
+ //对聚合结果统计出总数
|
|
|
+ Aggregation terms = AggregationBuilders.terms(i -> i.field("merge_inventor.name.raw").size(100000));
|
|
|
+ BucketsPath bucketsPath = BucketsPath.of(i -> i.single("terms>_count"));
|
|
|
+ Aggregation statsBucket = AggregationBuilders.statsBucket(i -> i.bucketsPath(bucketsPath));
|
|
|
Aggregation totalAgg = new Aggregation.Builder().nested(new NestedAggregation.Builder().
|
|
|
path("merge_inventor").build())
|
|
|
.aggregations(new HashMap() {{
|
|
|
- put("total", cardinality);
|
|
|
+ put("terms", terms);
|
|
|
+ put("statsBucket", statsBucket);
|
|
|
}}).build();
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
}
|
|
@@ -764,11 +772,15 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}}).build();
|
|
|
builder.aggregations("Agg", aggregation);
|
|
|
|
|
|
- Aggregation cardinality = AggregationBuilders.cardinality(i -> i.field("merge_applicant.name.raw"));
|
|
|
+ //对聚合结果统计出总数
|
|
|
+ Aggregation terms = AggregationBuilders.terms(i -> i.field("merge_applicant.name.raw").size(100000));
|
|
|
+ BucketsPath bucketsPath = BucketsPath.of(i -> i.single("terms>_count"));
|
|
|
+ Aggregation statsBucket = AggregationBuilders.statsBucket(i -> i.bucketsPath(bucketsPath));
|
|
|
Aggregation totalAgg = new Aggregation.Builder().nested(new NestedAggregation.Builder().
|
|
|
path("merge_applicant").build())
|
|
|
.aggregations(new HashMap() {{
|
|
|
- put("total", cardinality);
|
|
|
+ put("terms", terms);
|
|
|
+ put("statsBucket", statsBucket);
|
|
|
}}).build();
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
|
|
@@ -800,11 +812,15 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}}).build();
|
|
|
builder.aggregations("Agg", aggregation);
|
|
|
|
|
|
- Aggregation cardinality = AggregationBuilders.cardinality(i -> i.field("merge_inventor.name.raw"));
|
|
|
+ //对聚合结果统计出总数
|
|
|
+ Aggregation terms = AggregationBuilders.terms(i -> i.field("merge_inventor.name.raw").size(100000));
|
|
|
+ BucketsPath bucketsPath = BucketsPath.of(i -> i.single("terms>_count"));
|
|
|
+ Aggregation statsBucket = AggregationBuilders.statsBucket(i -> i.bucketsPath(bucketsPath));
|
|
|
Aggregation totalAgg = new Aggregation.Builder().nested(new NestedAggregation.Builder().
|
|
|
path("merge_inventor").build())
|
|
|
.aggregations(new HashMap() {{
|
|
|
- put("total", cardinality);
|
|
|
+ put("terms", terms);
|
|
|
+ put("statsBucket", statsBucket);
|
|
|
}}).build();
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
}
|
|
@@ -813,8 +829,8 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
builder.trackTotalHits(i -> i.enabled(true));
|
|
|
SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
Aggregate totalAgg = response.aggregations().get("totalAgg");
|
|
|
- Aggregate totalAggregate = totalAgg.nested().aggregations().get("total");
|
|
|
- long total = totalAggregate.cardinality().value();
|
|
|
+ Aggregate totalAggregate = totalAgg.nested().aggregations().get("statsBucket");
|
|
|
+ long total = totalAggregate.statsBucket().count();
|
|
|
List<String> mergeList = new ArrayList<>();
|
|
|
Aggregate agg = response.aggregations().get("Agg");
|
|
|
Aggregate nestedAgg = agg.nested().aggregations().get("nestedAgg");
|