zero hai 1 ano
pai
achega
873f9b02b5

+ 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(topN).build())
+                    .field(field).size(100).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(topN).build())
+                    .field(field).size(100).build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();

+ 13 - 7
src/main/java/cn/cslg/pas/factorys/EsCountAnalyseBuilderFactory/PrioritiesCountAnalysisBuilder.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.factorys.EsCountAnalyseBuilderFactory;
 import co.elastic.clients.elasticsearch._types.aggregations.*;
 import co.elastic.clients.elasticsearch._types.query_dsl.Query;
 import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
+import co.elastic.clients.json.JsonData;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
@@ -32,12 +33,17 @@ public class PrioritiesCountAnalysisBuilder implements IEsCountAnalysisBuilder{
     public Aggregation createCountAnalyseAgg() throws Exception {
         Aggregation aggregation = null;
         if (StringUtils.isNotEmpty(valueOne) && StringUtils.isNotEmpty(valueTwo)) {
+            SimpleDateFormat format = new SimpleDateFormat("yyyy");
+            Date beginDate = format.parse(valueOne);
+            long beginTime = beginDate.getTime();
             String end = String.valueOf(Integer.parseInt(valueTwo) + 1);
-            Query query = QueryBuilders.range(j -> j.field(field).from(valueOne).to(end).format("yyyy"));
+            Date endDate = format.parse(end);
+            long endTime = endDate.getTime();
+            Query query = QueryBuilders.range(j -> j.field(field).gte(JsonData.of(beginTime)).lt(JsonData.of(endTime)));
             Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query)));
             aggregation = new Aggregation.Builder().dateHistogram(new DateHistogramAggregation.Builder()
                     .field(field).format("yyyy")
-                    .calendarInterval(CalendarInterval.Year).build())
+                    .calendarInterval(CalendarInterval.Year).timeZone("+08:00").build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();
@@ -164,9 +170,9 @@ public class PrioritiesCountAnalysisBuilder implements IEsCountAnalysisBuilder{
             aggregation = AggregationBuilders.dateRange(i -> i.field(field).format("yyyy-MM").ranges(rangeExpressions));
         } else if (StringUtils.isNotEmpty(format) && CollectionUtils.isEmpty(values)) {
             if (format.equals("年")) {
-                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy").calendarInterval(CalendarInterval.Year));
+                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy").calendarInterval(CalendarInterval.Year).timeZone("+08:00"));
             } else if (format.equals("半年")) {
-                Aggregation halfYearAgg = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Month));
+                Aggregation halfYearAgg = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Month).timeZone("+08:00"));
                 aggregation = new Aggregation.Builder().dateHistogram(new DateHistogramAggregation.Builder()
                         .field(field).format("yyyy")
                         .calendarInterval(CalendarInterval.Year).build())
@@ -174,12 +180,12 @@ public class PrioritiesCountAnalysisBuilder implements IEsCountAnalysisBuilder{
                             put("halfYearAgg", halfYearAgg);
                         }}).build();
             } else if (format.equals("季")) {
-                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Quarter));
+                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Quarter).timeZone("+08:00"));
             } else if (format.equals("月")) {
-                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Month));
+                aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy-MM").calendarInterval(CalendarInterval.Month).timeZone("+08:00"));
             }
         } else {
-            aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy").calendarInterval(CalendarInterval.Year));
+            aggregation = AggregationBuilders.dateHistogram(i -> i.field(field).format("yyyy").calendarInterval(CalendarInterval.Year).timeZone("+08:00"));
 
         }
 

+ 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(topN).build())
+                    .field(field).size(100).build())
                     .aggregations(new HashMap() {{
                         put("filter_agg", filter);
                     }}).build();

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

@@ -204,6 +204,8 @@ public class EsCountService {
             } else {
                 builder.aggregations("Agg", aggregation);
             }
+            //解除最大条数限制
+            builder.trackTotalHits(i -> i.enabled(true));
             SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
             Aggregate agg = response.aggregations().get("Agg");
             if (query != null) {