Selaa lähdekoodia

es统计分析

zero 1 vuosi sitten
vanhempi
commit
a0abaf73bb

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

@@ -139,13 +139,13 @@ public class EsCountService {
                         filtersBuckets.forEach(filtersBucket -> {
                             this.getFiltersCountDTO(filtersBucket, condition, detailDTOS);
                             Aggregate filtersAgg = filtersBucket.aggregations().get("filters_agg");
-                            this.getNestedCountDTOS(filtersAgg, field, detailDTOS,esCountDTO);
+                            this.getNestedCountDTOS(filtersAgg, field, detailDTOS);
                         });
                     } else if (childList.contains(field)) {
                         filtersBuckets.forEach(filtersBucket -> {
                             this.getFiltersCountDTO(filtersBucket, condition, detailDTOS);
                             Aggregate filtersAgg = filtersBucket.aggregations().get("filters_agg");
-                            this.getChildCountDTOS(filtersAgg, field, detailDTOS);
+                            this.getChildCountDTOS(filtersAgg, field, detailDTOS,esCountDTO);
                         });
                     } else {
                         filtersBuckets.forEach(filtersBucket -> {
@@ -161,9 +161,9 @@ public class EsCountService {
                 if (dateList.contains(field)) {
                     this.getDateCountDTOS(agg, field, topN, detailDTOS,esCountDTO);
                 } else if (nestedList.contains(field)) {
-                    this.getNestedCountDTOS(agg, field, detailDTOS,esCountDTO);
+                    this.getNestedCountDTOS(agg, field, detailDTOS);
                 } else if (childList.contains(field)) {
-                    this.getChildCountDTOS(agg, field, detailDTOS);
+                    this.getChildCountDTOS(agg, field, detailDTOS,esCountDTO);
                 } else {
                     this.getTermCountDTOS(agg, field, detailDTOS);
                 }
@@ -265,7 +265,7 @@ public class EsCountService {
                 if (dateList.contains(field)) {
                     this.getDateAnalysisDTOS(agg, field, topN, detailDTOS,esCountDTO);
                 } else if (nestedList.contains(field)) {
-                    this.getNestedCountDTOS(agg, field, detailDTOS,esCountDTO);
+                    this.getNestedCountDTOS(agg, field, detailDTOS);
                 } else if (childList.contains(field)) {
                     this.getChildAnalysisDTOS(agg, field, detailDTOS, esCountDTO);
                 } else if (numberList.contains(field)) {
@@ -365,7 +365,7 @@ public class EsCountService {
                 if (dateList.contains(field)) {
                     this.getDateAnalysisDTOS(agg, field, topN, detailDTOS,esCountDTO);
                 } else if (nestedList.contains(field)) {
-                    this.getNestedCountDTOS(agg, field, detailDTOS,esCountDTO);
+                    this.getNestedCountDTOS(agg, field, detailDTOS);
                 } else if (childList.contains(field)) {
                     this.getChildAnalysisDTOS(agg, field, detailDTOS, esCountDTO);
                 } else if (numberList.contains(field)) {
@@ -485,7 +485,8 @@ public class EsCountService {
      * @param field
      * @param detailDTOS
      */
-    public void getChildCountDTOS(Aggregate agg, String field, List<EsCountDetailDTO> detailDTOS) {
+    public void getChildCountDTOS(Aggregate agg, String field, List<EsCountDetailDTO> detailDTOS, EsCountDTO esCountDTO) {
+        esCountDTO.setAllNumber(agg.children().docCount());
         Aggregate childAgg = agg.children().aggregations().get("childAgg");
         List<StringTermsBucket> list = childAgg.sterms().buckets().array();
         list.forEach(bucket -> {
@@ -611,7 +612,7 @@ public class EsCountService {
      */
     public void getDateAnalysisDTOS(Aggregate agg, String field, Integer topN, List<EsCountDetailDTO> detailDTOS,EsCountDTO esCountDTO) {
         List<RangeBucket> list1 = agg.dateRange().buckets().array();
-        esCountDTO.setAllNumber(Long.valueOf(String.valueOf(list1.size())));
+//        esCountDTO.setAllNumber(Long.valueOf(String.valueOf(list1.size())));
         List<EsCountDetailDTO> esCountDetailDTOS = new ArrayList<>();
         for (RangeBucket bucket : list1) {
             EsCountDetailDTO dto = new EsCountDetailDTO();
@@ -636,8 +637,7 @@ public class EsCountService {
      * @param field
      * @param detailDTOS
      */
-    public void getNestedCountDTOS(Aggregate agg, String field, List<EsCountDetailDTO> detailDTOS,EsCountDTO esCountDTO) {
-        esCountDTO.setAllNumber(agg.nested().docCount());
+    public void getNestedCountDTOS(Aggregate agg, String field, List<EsCountDetailDTO> detailDTOS) {
         Aggregate termsAgg = agg.nested().aggregations().get("terms_agg");
         List<StringTermsBucket> list = termsAgg.sterms().buckets().array();
         list.forEach(bucket -> {
@@ -768,14 +768,17 @@ public class EsCountService {
                         filtersBuckets.forEach(filtersBucket -> {
                             this.getFiltersCountDTO(filtersBucket, finalSearchCondition, detailDTOS);
                             Aggregate filtersAgg = filtersBucket.aggregations().get("filters_agg");
-                            this.getNestedCountDTOS(filtersAgg, field, detailDTOS,esCountDTO);
+                            this.getNestedCountDTOS(filtersAgg, field, detailDTOS);
+                            if (!CollectionUtils.isEmpty(values)) {
+                                esCountDTO.setAllNumber(filtersAgg.nested().docCount());
+                            }
                         });
                     } else if (childList.contains(field)) {
                         if (CollectionUtils.isEmpty(values)) {
                             filtersBuckets.forEach(filtersBucket -> {
                                 this.getFiltersCountDTO(filtersBucket, finalSearchCondition, detailDTOS);
                                 Aggregate filtersAgg = filtersBucket.aggregations().get("filters_agg");
-                                this.getChildCountDTOS(filtersAgg, field, detailDTOS);
+                                this.getChildCountDTOS(filtersAgg, field, detailDTOS,esCountDTO);
                             });
                         } else {
                             filtersBuckets.forEach(filtersBucket -> {
@@ -812,10 +815,13 @@ public class EsCountService {
                         this.getDateAnalysisDTOS(agg, field, topN, detailDTOS,esCountDTO);
                     }
                 } else if (nestedList.contains(field)) {
-                    this.getNestedCountDTOS(agg, field, detailDTOS,esCountDTO);
+                    this.getNestedCountDTOS(agg, field, detailDTOS);
+                    if (!CollectionUtils.isEmpty(values)) {
+                        esCountDTO.setAllNumber(agg.nested().docCount());
+                    }
                 } else if (childList.contains(field)) {
                     if (CollectionUtils.isEmpty(values)) {
-                        this.getChildCountDTOS(agg, field, detailDTOS);
+                        this.getChildCountDTOS(agg, field, detailDTOS,esCountDTO);
                     } else {
                         this.getChildAnalysisDTOS(agg, field, detailDTOS, esCountDTO);
                     }

+ 41 - 41
src/main/resources/jsons/esCountAnalysis.json

@@ -3,7 +3,7 @@
     "name": "IPC分类号一级",
     "type": "String",
     "value": "ipcLevel1",
-    "field": "IC",
+    "field": "ipcLevel1",
     "esField": "mipc.level1",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -15,7 +15,7 @@
     "name": "IPC分类号二级",
     "type": "String",
     "value": "ipcLevel2",
-    "field": "IC2",
+    "field": "ipcLevel2",
     "esField": "mipc.level2",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -27,7 +27,7 @@
     "name": "IPC分类号三级",
     "type": "String",
     "value": "ipcLevel3",
-    "field": "IC3",
+    "field": "ipcLevel3",
     "esField": "mipc.level3",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -39,7 +39,7 @@
     "name": "IPC分类号四级",
     "type": "String",
     "value": "ipcLevel4",
-    "field": "IC4",
+    "field": "ipcLevel4",
     "esField": "mipc.level4",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -51,7 +51,7 @@
     "name": "IPC分类号五级",
     "type": "String",
     "value": "ipcLevel5",
-    "field": "IC5",
+    "field": "ipcLevel5",
     "esField": "mipc.level5",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -63,7 +63,7 @@
     "name": "CPC分类号一级",
     "type": "String",
     "value": "cpcLevel1",
-    "field": "CPC",
+    "field": "cpcLevel1",
     "esField": "mcpc.level1",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -75,7 +75,7 @@
     "name": "CPC分类号二级",
     "type": "String",
     "value": "cpcLevel2",
-    "field": "CPC2",
+    "field": "cpcLevel2",
     "esField": "mcpc.level2",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -87,7 +87,7 @@
     "name": "CPC分类号三级",
     "type": "String",
     "value": "cpcLevel3",
-    "field": "CPC3",
+    "field": "cpcLevel3",
     "esField": "mcpc.level3",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -99,7 +99,7 @@
     "name": "CPC分类号四级",
     "type": "String",
     "value": "cpcLevel4",
-    "field": "CPC4",
+    "field": "cpcLevel4",
     "esField": "mcpc.level4",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -111,7 +111,7 @@
     "name": "CPC分类号五级",
     "type": "String",
     "value": "cpcLevel5",
-    "field": "CPC5",
+    "field": "cpcLevel5",
     "esField": "mcpc.level5",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -123,7 +123,7 @@
     "name": "UPC分类号一级",
     "type": "String",
     "value": "upcLevel1",
-    "field": "UPC",
+    "field": "upcLevel1",
     "esField": "mupc.level1",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -135,7 +135,7 @@
     "name": "UPC分类号二级",
     "type": "String",
     "value": "upcLevel2",
-    "field": "UPC2",
+    "field": "upcLevel2",
     "esField": "mupc.level2",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -147,7 +147,7 @@
     "name": "UPC分类号三级",
     "type": "String",
     "value": "upcLevel3",
-    "field": "UPC3",
+    "field": "upcLevel3",
     "esField": "mupc.level3",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -159,7 +159,7 @@
     "name": "LOC分类号一级",
     "type": "String",
     "value": "locLevel1",
-    "field": "LOC",
+    "field": "locLevel1",
     "esField": "mloc.level1",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -171,7 +171,7 @@
     "name": "LOC分类号二级",
     "type": "String",
     "value": "locLevel2",
-    "field": "LOC2",
+    "field": "locLevel2",
     "esField": "mloc.level2",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -183,7 +183,7 @@
     "name": "LOC分类号三级",
     "type": "String",
     "value": "locLevel3",
-    "field": "LOC3",
+    "field": "locLevel3",
     "esField": "mloc.level3",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -195,7 +195,7 @@
     "name": "申请人",
     "type": "String",
     "value": "applicant",
-    "field": "PA",
+    "field": "applicant",
     "esField": "applicant.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -207,7 +207,7 @@
     "name": "标准申请人",
     "type": "String",
     "value": "standerApplicant",
-    "field": "SAT",
+    "field": "standerApplicant",
     "esField": "stander_applicant.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -219,7 +219,7 @@
     "name": "合并申请人",
     "type": "String",
     "value": "mergeApplicant",
-    "field": "MAT",
+    "field": "mergeApplicant",
     "esField": "merge_applicant.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -231,7 +231,7 @@
     "name": "权利人",
     "type": "String",
     "value": "rightHolder",
-    "field": "PE",
+    "field": "rightHolder",
     "esField": "right_holder.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -243,7 +243,7 @@
     "name": "标准权利人",
     "type": "String",
     "value": "standerRightHolder",
-    "field": "SRH",
+    "field": "standerRightHolder",
     "esField": "stander_right_holder.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -255,7 +255,7 @@
     "name": "合并权利人",
     "type": "String",
     "value": "mergeRightHolder",
-    "field": "MRH",
+    "field": "mergeRightHolder",
     "esField": "merge_right_holder.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -267,7 +267,7 @@
     "name": "发明人",
     "type": "String",
     "value": "inventor",
-    "field": "IN",
+    "field": "inventor",
     "esField": "inventor.name.key",
     "esClass": "nestedCountAnalysisBuilder",
     "ifSearch": "false",
@@ -279,7 +279,7 @@
     "name": "代理机构",
     "type": "String",
     "value": "agency",
-    "field": "AGN",
+    "field": "agency",
     "esField": "agency",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -291,7 +291,7 @@
     "name": "代理人名称",
     "type": "String",
     "value": "agent",
-    "field": "PT",
+    "field": "agent",
     "esField": "agent.key",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -303,7 +303,7 @@
     "name": "公开日",
     "type": "Date",
     "value": "publicDate",
-    "field": "PD",
+    "field": "publicDate",
     "esField": "public_date",
     "esClass": "dateCountAnalyssBuilder",
     "ifSearch": "false",
@@ -315,7 +315,7 @@
     "name": "申请日",
     "type": "String",
     "value": "appDate",
-    "field": "AD",
+    "field": "appDate",
     "esField": "app_date",
     "esClass": "dateCountAnalyssBuilder",
     "ifSearch": "false",
@@ -327,7 +327,7 @@
     "name": "授权日",
     "type": "String",
     "value": "grantDate",
-    "field": "GD",
+    "field": "grantDate",
     "esField": "grant_date",
     "esClass": "dateCountAnalyssBuilder",
     "ifSearch": "false",
@@ -339,7 +339,7 @@
     "name": "申请国家(受理局)",
     "type": "String",
     "value": "appCountry",
-    "field": "CO",
+    "field": "appCountry",
     "esField": "app_country",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -350,7 +350,7 @@
   {
     "name": "申请人国家",
     "type": "String",
-    "value": "appCountry",
+    "value": "applicantCountry",
     "field": "DZ",
     "esField": "applicant_addr.country",
     "esClass": "termsCountAnalysisBuilder",
@@ -363,7 +363,7 @@
     "name": "申请人省份",
     "type": "String",
     "value": "appProvince",
-    "field": "ADP",
+    "field": "appProvince",
     "esField": "applicant_addr.province",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -375,7 +375,7 @@
     "name": "申请人市区",
     "type": "String",
     "value": "appCity",
-    "field": "ADC",
+    "field": "appCity",
     "esField": "applicant_addr.city",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -423,7 +423,7 @@
     "name": "优先权国家",
     "type": "String",
     "value": "priorityCountry",
-    "field": "PC",
+    "field": "priorityCountry",
     "esField": "priorities.prioritycountry",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -435,7 +435,7 @@
     "name": "引用专利数量",
     "type": "Integer",
     "value": "quotePatentNoNum",
-    "field": "QPN",
+    "field": "quotePatentNoNum",
     "esField": "quote_patent_no_num",
     "esClass": "rangeCountAnalysisBuilder",
     "ifSearch": "false",
@@ -447,7 +447,7 @@
     "name": "被引用专利数量",
     "type": "Integer",
     "value": "quotedPatentNoNum",
-    "field": "QDPN",
+    "field": "quotedPatentNoNum",
     "esField": "quoted_patent_no_num",
     "esClass": "rangeCountAnalysisBuilder",
     "ifSearch": "false",
@@ -459,7 +459,7 @@
     "name": "简单同族数量",
     "type": "Integer",
     "value": "simpleFamilyNum",
-    "field": "SFN",
+    "field": "simpleFamilyNum",
     "esField": "simple_family_num",
     "esClass": "rangeCountAnalysisBuilder",
     "ifSearch": "false",
@@ -471,7 +471,7 @@
     "name": "inpadoc同族数量",
     "type": "Integer",
     "value": "inpadocFamilyNum",
-    "field": "IFN",
+    "field": "inpadocFamilyNum",
     "esField": "inpadoc_family_num",
     "esClass": "rangeCountAnalysisBuilder",
     "ifSearch": "false",
@@ -483,7 +483,7 @@
     "name": "扩展同族数量",
     "type": "Integer",
     "value": "patsnapFamilyNum",
-    "field": "PFN",
+    "field": "patsnapFamilyNum",
     "esField": "patsnap_family_num",
     "esClass": "rangeCountAnalysisBuilder",
     "ifSearch": "false",
@@ -495,7 +495,7 @@
     "name": "专利状态",
     "type": "String",
     "value": "simpleStatus",
-    "field": "SS",
+    "field": "simpleStatus",
     "esField": "simple_status",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -507,7 +507,7 @@
     "name": "专利类型",
     "type": "String",
     "value": "patentType",
-    "field": "PT",
+    "field": "patentType",
     "esField": "patent_type",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",
@@ -519,7 +519,7 @@
     "name": "法律状态",
     "type": "String",
     "value": "legalStatus",
-    "field": "LG",
+    "field": "legalStatus",
     "esField": "legal_status",
     "esClass": "termsCountAnalysisBuilder",
     "ifSearch": "false",

+ 1 - 1
src/main/resources/jsons/patent.json

@@ -291,7 +291,7 @@
   {
     "name": "申请人国家",
     "type": "String",
-    "value": "appCountry",
+    "value": "applicantCountry",
     "field": "AAC",
     "esField": "applicant_addr.country",
     "esClass": "keyWordQueryBuilder",