ソースを参照

检索统计调试

zero 1 年間 前
コミット
0295bf9a0c

+ 24 - 17
src/main/java/cn/cslg/pas/service/business/es/EsPatentService.java

@@ -15,12 +15,14 @@ import cn.cslg.pas.common.utils.parseQueryToTree.expressManager;
 import cn.cslg.pas.common.utils.parseQueryToTree.operateNode;
 import cn.cslg.pas.common.utils.parseQueryToTree.treeNode;
 import cn.cslg.pas.common.vo.ContentVO;
+import cn.cslg.pas.common.vo.EsConfigVO;
 import cn.cslg.pas.common.vo.PatentPageMessageVO;
 import cn.cslg.pas.common.vo.PatentWithIdVO;
 import cn.cslg.pas.common.vo.business.PatentKinDetailVO;
 import cn.cslg.pas.common.vo.business.PatentKinVO;
 import cn.cslg.pas.common.vo.business.PatentNoVO;
 import cn.cslg.pas.domain.es.*;
+import cn.cslg.pas.service.business.CommonService;
 import cn.cslg.pas.service.query.FormatQueryService;
 import co.elastic.clients.elasticsearch.ElasticsearchClient;
 import co.elastic.clients.elasticsearch._types.SortOrder;
@@ -281,23 +283,28 @@ public class EsPatentService {
         builder.query(q);
         //排序
         List<OrderDTO> dtoList = queryRequest.getOrderDTOList();
-//        if (!CollectionUtils.isEmpty(dtoList)) {
-//            for (OrderDTO orderDTO : dtoList) {
-//                if (orderDTO.getOrderType().equals(IfConstant.NO)) {
-//                    builder.sort(sortOptionsBuilder -> sortOptionsBuilder
-//                            .field(fieldSortBuilder -> fieldSortBuilder
-//                                    .field(orderDTO.getOrderBy()).order(SortOrder.Asc)));
-//                } else {
-//                    builder.sort(sortOptionsBuilder -> sortOptionsBuilder
-//                            .field(fieldSortBuilder -> fieldSortBuilder
-//                                    .field(orderDTO.getOrderBy()).order(SortOrder.Desc)));
-//                }
-//            }
-//        } else {
-//            builder.sort(sortOptionsBuilder -> sortOptionsBuilder
-//                    .field(fieldSortBuilder -> fieldSortBuilder
-//                            .field("patent_no.keyword").order(SortOrder.Desc)));
-//        }
+        if (!CollectionUtils.isEmpty(dtoList)) {
+            String json = CommonService.readJsonFile("patent.json");
+            List<EsConfigVO> esConfigVOS = JSON.parseArray(json, EsConfigVO.class);
+            for (OrderDTO orderDTO : dtoList) {
+                EsConfigVO configVO = esConfigVOS.stream().filter(item -> item.getField().equals(orderDTO.getOrderBy())).findFirst().orElse(null);
+                if (configVO != null) {
+                    if (orderDTO.getOrderType().equals(IfConstant.NO)) {
+                        builder.sort(sortOptionsBuilder -> sortOptionsBuilder
+                                .field(fieldSortBuilder -> fieldSortBuilder
+                                        .field(configVO.getEsField()).order(SortOrder.Asc)));
+                    } else {
+                        builder.sort(sortOptionsBuilder -> sortOptionsBuilder
+                                .field(fieldSortBuilder -> fieldSortBuilder
+                                        .field(configVO.getEsField()).order(SortOrder.Desc)));
+                    }
+                }
+            }
+        } else {
+            builder.sort(sortOptionsBuilder -> sortOptionsBuilder
+                    .field(fieldSortBuilder -> fieldSortBuilder
+                            .field("patent_no.keyword").order(SortOrder.Desc)));
+        }
         //分页
         if (current > 0 && size > 0) {
             builder.from(current.intValue()).size(size.intValue());

+ 0 - 60
src/main/java/cn/cslg/pas/service/business/es/EsService.java

@@ -131,9 +131,6 @@ public class EsService {
         //判断表达式
         if (queryRequest instanceof StringRequest) {
             searchCondition = ((StringRequest) queryRequest).getSearchQuery();
-//            if (searchCondition.contains("~")) {
-//                searchCondition = this.getDateRangeStr(searchCondition);
-//            }
         } else if (queryRequest instanceof MapRequest) {
             Map<String, Object> map = ((MapRequest) queryRequest).getSearchQuery();
             StringBuilder stringBuilder = new StringBuilder();
@@ -227,63 +224,6 @@ public class EsService {
         return dto;
     }
 
-    public String getDateRangeStr(String str) {
-        String condition = "";
-        if (str.contains("AD")) {
-            String s = str.substring(str.indexOf("AD")).toUpperCase(Locale.ROOT);
-            String key = s.substring(0, s.indexOf("="));
-            String s1 = s.substring(s.indexOf("=") + 1, s.indexOf("~"));
-            String s2 = "";
-            if (s.contains("AND")) {
-                s2 = s.substring(s.indexOf("~") + 1, s.indexOf("AND"));
-            } else {
-                s2 = s.substring(s.indexOf("~") + 1).trim();
-            }
-            int index = str.indexOf(key);
-            int index1 = str.indexOf(s2) + s2.length();
-            String substring = str.substring(index, index1);
-            String concat = key.concat(">=").concat(s1).concat(" and ").concat(key).concat("<=").concat(s2);
-            String replace = str.replace(substring, concat);
-            str = replace;
-        }
-        if (str.contains("PD")) {
-            String s = str.substring(str.indexOf("PD")).toUpperCase(Locale.ROOT);
-            String key = s.substring(0, s.indexOf("="));
-            String s1 = s.substring(s.indexOf("=") + 1, s.indexOf("~"));
-            String s2 = "";
-            if (s.contains("AND")) {
-                s2 = s.substring(s.indexOf("~") + 1, s.indexOf("AND"));
-            } else {
-                s2 = s.substring(s.indexOf("~") + 1).trim();
-            }
-            int index = str.indexOf(key);
-            int index1 = str.indexOf(s2) + s2.length();
-            String substring = str.substring(index, index1);
-            String concat = key.concat(">=").concat(s1).concat(" and ").concat(key).concat("<=").concat(s2);
-            String replace = str.replace(substring, concat);
-            str = replace;
-        }
-        if (str.contains("GD")) {
-            String s = str.substring(str.indexOf("GD")).toUpperCase(Locale.ROOT);
-            String key = s.substring(0, s.indexOf("="));
-            String s1 = s.substring(s.indexOf("=") + 1, s.indexOf("~"));
-            String s2 = "";
-            if (s.contains("AND")) {
-                s2 = s.substring(s.indexOf("~") + 1, s.indexOf("AND"));
-            } else {
-                s2 = s.substring(s.indexOf("~") + 1).trim();
-            }
-            int index = str.indexOf(key);
-            int index1 = index + key.length() + s1.length() + 2 + s2.length();
-            String substring = str.substring(index, index1);
-            String concat = key.concat(">=").concat(s1).concat(" and ").concat(key).concat("<=").concat(s2);
-            String replace = str.replace(substring, concat);
-            str = replace;
-        }
-        condition = str;
-        return condition;
-    }
-
     /**
      * 解析自定义栏位和值
      *

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

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

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

@@ -1020,7 +1020,7 @@
     "esClass": "customChildQueryBuilder",
     "ifSearch": "false",
     "ifGroup": "false",
-    "ifShow": "true",
+    "ifShow": "false",
     "ifAsCondition": "true"
   },
   {