|
@@ -149,18 +149,6 @@ public class EsCountService {
|
|
//3. 从es中检索数据
|
|
//3. 从es中检索数据
|
|
query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent",projectId);
|
|
query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent",projectId);
|
|
builder.query(query);
|
|
builder.query(query);
|
|
-// if (StringUtils.isNotEmpty(groupField) && !groupField.equals("0")) {
|
|
|
|
-// String esField = esService.getGroupField(groupField);
|
|
|
|
-// esGroupField = esField;
|
|
|
|
-// Query existQ = QueryBuilders.exists(i -> i.field(esField));
|
|
|
|
-// Query finalQuery = query;
|
|
|
|
-// Query bool = QueryBuilders.bool(i -> i.must(finalQuery, existQ));
|
|
|
|
-// builder.query(bool);
|
|
|
|
-// FieldCollapse collapse = FieldCollapse.of(i -> i.field(esField));
|
|
|
|
-// builder.collapse(collapse);
|
|
|
|
-// } else {
|
|
|
|
-// builder.query(query);
|
|
|
|
-// }
|
|
|
|
}
|
|
}
|
|
if (query != null) {
|
|
if (query != null) {
|
|
for (EsCountVO countVO : countVOS) {
|
|
for (EsCountVO countVO : countVOS) {
|
|
@@ -1009,8 +997,8 @@ public class EsCountService {
|
|
Map<String, List<EsCountDetailDTO>> map, List<String> values,String valueOne) {
|
|
Map<String, List<EsCountDetailDTO>> map, List<String> values,String valueOne) {
|
|
Aggregate termsAgg = agg.nested().aggregations().get("terms_agg");
|
|
Aggregate termsAgg = agg.nested().aggregations().get("terms_agg");
|
|
List<EsCountDetailDTO> countDetailDTOS = new ArrayList<>();
|
|
List<EsCountDetailDTO> countDetailDTOS = new ArrayList<>();
|
|
- long otherNum = 0l;
|
|
|
|
- if (StringUtils.isNotEmpty(valueOne)) {
|
|
|
|
|
|
+ long otherNum = 0L;
|
|
|
|
+ if (StringUtils.isNotEmpty(valueOne) || nestChildList.contains(field)) {
|
|
Aggregate filterAgg = termsAgg.filter().aggregations().get("filter_agg");
|
|
Aggregate filterAgg = termsAgg.filter().aggregations().get("filter_agg");
|
|
List<StringTermsBucket> list = filterAgg.sterms().buckets().array();
|
|
List<StringTermsBucket> list = filterAgg.sterms().buckets().array();
|
|
for (StringTermsBucket bucket : list) {
|
|
for (StringTermsBucket bucket : list) {
|
|
@@ -1038,7 +1026,7 @@ public class EsCountService {
|
|
countDTO.setName("其他");
|
|
countDTO.setName("其他");
|
|
countDTO.setTopN(topN);
|
|
countDTO.setTopN(topN);
|
|
Long count = filterAgg.sterms().sumOtherDocCount();
|
|
Long count = filterAgg.sterms().sumOtherDocCount();
|
|
- if (count > 0) {
|
|
|
|
|
|
+ if (count != null && count > 0) {
|
|
countDTO.setNumber(count + otherNum);
|
|
countDTO.setNumber(count + otherNum);
|
|
countDetailDTOS.add(countDTO);
|
|
countDetailDTOS.add(countDTO);
|
|
}
|
|
}
|
|
@@ -1055,7 +1043,7 @@ public class EsCountService {
|
|
dto.setNumber(bucket.docCount());
|
|
dto.setNumber(bucket.docCount());
|
|
dto.setTopN(topN);
|
|
dto.setTopN(topN);
|
|
dto.setFirstName(firstName);
|
|
dto.setFirstName(firstName);
|
|
- if (aggregate != null) {
|
|
|
|
|
|
+ if (aggregate != null && aggregate.filter().docCount() > 0) {
|
|
dto.setNumber(aggregate.filter().docCount());
|
|
dto.setNumber(aggregate.filter().docCount());
|
|
}
|
|
}
|
|
if (dto.getNumber() > 0) {
|
|
if (dto.getNumber() > 0) {
|