zero 1 năm trước cách đây
mục cha
commit
f1405d71d5

+ 1 - 1
src/main/java/cn/cslg/pas/factorys/EsCountAnalyseBuilderFactory/ChildNestedAnalyseBuilder.java

@@ -35,7 +35,7 @@ public class ChildNestedAnalyseBuilder implements IEsCountAnalysisBuilder{
             Query query = QueryBuilders.wildcard(i -> i.field(field).value(s));
             Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query,q1)));
             terms = new Aggregation.Builder().terms(new TermsAggregation.Builder()
-                    .field(field).size(100).build())
+                    .field(field).size(topN).build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();

+ 1 - 1
src/main/java/cn/cslg/pas/factorys/EsCountAnalyseBuilderFactory/NestedCountAnalysisBuilder.java

@@ -38,7 +38,7 @@ public class NestedCountAnalysisBuilder implements IEsCountAnalysisBuilder {
             Query query = QueryBuilders.wildcard(i -> i.field(field).value(s));
             Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query)));
             terms = new Aggregation.Builder().terms(new TermsAggregation.Builder()
-                    .field(field).size(100).build())
+                    .field(field).size(topN).build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();

+ 1 - 1
src/main/java/cn/cslg/pas/factorys/EsCountAnalyseBuilderFactory/TermsCountAnalysisBuilder.java

@@ -37,7 +37,7 @@ public class TermsCountAnalysisBuilder implements IEsCountAnalysisBuilder {
             Query query = QueryBuilders.wildcard(i -> i.field(field).value(s));
             Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query)));
             aggregation = new Aggregation.Builder().terms(new TermsAggregation.Builder()
-                    .field(field).size(100).build())
+                    .field(field).size(topN).build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();

+ 18 - 0
src/main/java/cn/cslg/pas/service/business/es/EsCountService.java

@@ -160,6 +160,21 @@ public class EsCountService {
             }
         }
 
+        if (countVOS.size() == 1) {
+            EsCountVO countVO = countVOS.get(0);
+            String field = countVO.getField();
+            String valueOne = countVO.getValueOne();
+            String valueTwo = countVO.getValueTwo();
+            if (StringUtils.isNotEmpty(valueOne) && StringUtils.isEmpty(valueTwo)) {
+                String filterCondition = field + " = " + valueOne;
+                if (searchCondition != null && !"".equals(searchCondition.trim())) {
+                    searchCondition = filterCondition + " AND " + searchCondition;
+                } else {
+                    searchCondition = filterCondition;
+                }
+            }
+        }
+
         if (!CollectionUtils.isEmpty(customFields)) {
             searchCondition = esService.parseCustomField(customFields,projectId,taskId);
         }
@@ -953,6 +968,9 @@ public class EsCountService {
         }
 
         if (!CollectionUtils.isEmpty(esCountDetailDTOS)) {
+            if (StringUtils.isNotEmpty(valueOne) || StringUtils.isNotEmpty(valueTwo)) {
+                all = Long.valueOf(String.valueOf(esCountDetailDTOS.size()));
+            }
             long num = Long.valueOf(String.valueOf(topN));
             long finalNum = all - num;
             if (finalNum > 0) {