Bläddra i källkod

es聚合统计

zero 1 år sedan
förälder
incheckning
f3cce16df4

+ 4 - 1
src/main/java/cn/cslg/pas/factorys/EsCountBuilderFactory/NestedCountBuilder.java

@@ -21,7 +21,10 @@ public class NestedCountBuilder implements IEsCountBuilder {
     public Aggregation createAggregation() {
         Aggregation terms = AggregationBuilders.terms(j -> j.field(field).size(topN));
         if (StringUtils.isNotEmpty(valueOne)) {
-            Query query = QueryBuilders.term(j -> j.field(field).value(valueOne));
+            String str = "*";
+            String s = str.concat(valueOne).concat("*");
+            Query query = QueryBuilders.wildcard(i -> i.field(field).value(s));
+//            Query query = QueryBuilders.term(j -> j.field(field).value(valueOne));
             Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query)));
             terms = new Aggregation.Builder().terms(new TermsAggregation.Builder()
                     .field(field).size(topN).build())

+ 5 - 1
src/main/java/cn/cslg/pas/factorys/EsCountBuilderFactory/TermsCountBuilder.java

@@ -23,7 +23,11 @@ public class TermsCountBuilder implements IEsCountBuilder{
     public Aggregation createAggregation() {
         Aggregation aggregation = AggregationBuilders.terms(i -> i.field(field).size(topN));
         if (StringUtils.isNotEmpty(valueOne)) {
-            Aggregation filter = AggregationBuilders.filter(n -> n.term(m -> m.field(field).value(valueOne)));
+            String str = "*";
+            String s = str.concat(valueOne).concat("*");
+            Query query = QueryBuilders.wildcard(i -> i.field(field).value(s));
+            Aggregation filter = AggregationBuilders.filter(n -> n.bool(k -> k.must(query)));
+//            Aggregation filter = AggregationBuilders.filter(n -> n.term(m -> m.field(field).value(valueOne)));
             aggregation = new Aggregation.Builder().terms(new TermsAggregation.Builder()
                     .field(field).size(topN).build())
                     .aggregations(new HashMap() {{

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

@@ -68,7 +68,7 @@ public class EsCountService {
             Integer topN = vo.getTopN();
 
             SearchRequest.Builder builder = new SearchRequest.Builder();
-            builder.index("patent");
+            builder.index("patent_v1");
             IEsCountBuilder iEsCountBuilder = null;
             String json = CommonService.readJsonFile("esCount.json");
             List<EsConfigVO> esConfigVOS = JSON.parseArray(json, EsConfigVO.class);

+ 2 - 2
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -232,8 +232,8 @@ public class EventServiceTests {
         vo2.setField("AD");
         vo2.setValueOne("2022");
         vo2.setValueTwo("2023");
-//        countVOS.add(vo1);
-        countVOS.add(vo2);
+        countVOS.add(vo1);
+//        countVOS.add(vo2);
         EsCountDTO esCountDTO = esCountService.esCountSearch(countVOS);
         System.out.println(esCountDTO);