| 
															
																@ -57,7 +57,7 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        textSearchService.saveOrUpdateHotWords(keyword, 1); 
															 | 
															
															 | 
															
																        textSearchService.saveOrUpdateHotWords(keyword, 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Map<String, String> sortMap = new HashMap<>(1); 
															 | 
															
															 | 
															
																        Map<String, String> sortMap = new HashMap<>(1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        sortMap.put(ResourceCells.EVENT_DATE, "desc"); 
															 | 
															
															 | 
															
																        sortMap.put(ResourceCells.EVENT_DATE, "desc"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String q = getQueryBySearchText(keyword,filters); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String q = getQueryBySearchText(keyword, filters); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        QueryResponse queryResponse = solrUtil.highlight(ResourceCore.MasterTable, q, null, sortMap, page - 1, size, ResourceCells.SEARCH_FIELD, null); 
															 | 
															
															 | 
															
																        QueryResponse queryResponse = solrUtil.highlight(ResourceCore.MasterTable, q, null, sortMap, page - 1, size, ResourceCells.SEARCH_FIELD, null); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String, Object>> dataList = new ArrayList<>(queryResponse.getHighlighting().size()); 
															 | 
															
															 | 
															
																        List<Map<String, Object>> dataList = new ArrayList<>(queryResponse.getHighlighting().size()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        queryResponse.getResults().forEach(document -> { 
															 | 
															
															 | 
															
																        queryResponse.getResults().forEach(document -> { 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -87,7 +87,12 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            result.put(ResourceCells.ORG_NAME, data.get(ResourceCells.ORG_NAME)); 
															 | 
															
															 | 
															
																            result.put(ResourceCells.ORG_NAME, data.get(ResourceCells.ORG_NAME)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (queryResponse.getHighlighting().get(rowkey).get(ResourceCells.SEARCH_FIELD) != null) { 
															 | 
															
															 | 
															
																            if (queryResponse.getHighlighting().get(rowkey).get(ResourceCells.SEARCH_FIELD) != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                result.put("hl", queryResponse.getHighlighting().get(rowkey).get(ResourceCells.SEARCH_FIELD).get(0)); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                String hl = queryResponse.getHighlighting().get(rowkey).get(ResourceCells.SEARCH_FIELD).get(0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                String pre = "<em>"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!hl.contains(pre)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    hl = hl.replaceAll(keyword, "<em>" + keyword + "</em>"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                result.put("hl", hl); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } else { 
															 | 
															
															 | 
															
																            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                result.put("hl", ""); 
															 | 
															
															 | 
															
																                result.put("hl", ""); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -171,17 +176,17 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return q.toString(); 
															 | 
															
															 | 
															
																        return q.toString(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private String getQueryBySearchText(String keys,String filters){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    private String getQueryBySearchText(String keys, String filters){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String q = ""; 
															 | 
															
															 | 
															
																        String q = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //用于存储某个词 
															 | 
															
															 | 
															
																        //用于存储某个词 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String temp = ""; 
															 | 
															
															 | 
															
																        String temp = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //用于存储某个词的开头 
															 | 
															
															 | 
															
																        //用于存储某个词的开头 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String start=""; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String start = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //未找过的字符串 
															 | 
															
															 | 
															
																        //未找过的字符串 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String otherString = ""; 
															 | 
															
															 | 
															
																        String otherString = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //用于判断 and or ,上个词 
															 | 
															
															 | 
															
																        //用于判断 and or ,上个词 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String preString ="and"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(StringUtils.isNotBlank(keys)) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String preString = "and"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNotBlank(keys)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            for (int i = 0; i < keys.length(); i++) { 
															 | 
															
															 | 
															
																            for (int i = 0; i < keys.length(); i++) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                String ch = String.valueOf(keys.charAt(i)); 
															 | 
															
															 | 
															
																                String ch = String.valueOf(keys.charAt(i)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if (StringUtils.isBlank(start)) { 
															 | 
															
															 | 
															
																                if (StringUtils.isBlank(start)) { 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -195,33 +200,33 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //以"开头  ,查找后面是否有 " ,有则截取 
															 | 
															
															 | 
															
																                //以"开头  ,查找后面是否有 " ,有则截取 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if ("\"".equals(start)){ 
															 | 
															
															 | 
															
																                if ("\"".equals(start)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    int fhIndex = otherString.indexOf("\""); 
															 | 
															
															 | 
															
																                    int fhIndex = otherString.indexOf("\""); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(fhIndex > -1){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (fhIndex > -1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        temp = keys.substring(i+1,i+fhIndex+1); 
															 | 
															
															 | 
															
																                        temp = keys.substring(i+1,i+fhIndex+1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        if(!"or".equalsIgnoreCase(preString)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        if (!"or".equalsIgnoreCase(preString)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            q = builderAndQuery(temp,q); 
															 | 
															
															 | 
															
																                            q = builderAndQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            q = builderOrQuery(temp,q); 
															 | 
															
															 | 
															
																                            q = builderOrQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        } 
															 | 
															
															 | 
															
																                        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        i = fhIndex+i+1; 
															 | 
															
															 | 
															
																                        i = fhIndex+i+1; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        start = ""; 
															 | 
															
															 | 
															
																                        start = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        preString = temp; 
															 | 
															
															 | 
															
																                        preString = temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        int kgIndex = otherString.indexOf(" "); 
															 | 
															
															 | 
															
																                        int kgIndex = otherString.indexOf(" "); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        if(kgIndex > -1){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        if (kgIndex > -1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            temp = keys.substring(i,i+kgIndex+1); 
															 | 
															
															 | 
															
																                            temp = keys.substring(i,i+kgIndex+1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            if(!"or".equalsIgnoreCase(preString)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            if (!"or".equalsIgnoreCase(preString)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            } 
															 | 
															
															 | 
															
																                            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            i = kgIndex+i+1; 
															 | 
															
															 | 
															
																                            i = kgIndex+i+1; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            start = ""; 
															 | 
															
															 | 
															
																                            start = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            preString = temp; 
															 | 
															
															 | 
															
																                            preString = temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            temp = start+otherString; 
															 | 
															
															 | 
															
																                            temp = start+otherString; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            if(!"or".equalsIgnoreCase(preString)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            if (!"or".equalsIgnoreCase(preString)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            } 
															 | 
															
															 | 
															
																                            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            i= keys.length(); 
															 | 
															
															 | 
															
																                            i= keys.length(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -229,24 +234,24 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } else { 
															 | 
															
															 | 
															
																                } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    int kgIndex = otherString.indexOf(" "); 
															 | 
															
															 | 
															
																                    int kgIndex = otherString.indexOf(" "); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(kgIndex > -1){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (kgIndex > -1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        temp = keys.substring(i,i+kgIndex+1); 
															 | 
															
															 | 
															
																                        temp = keys.substring(i,i+kgIndex+1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        if(!"and".equalsIgnoreCase(temp) &&  !"or".equalsIgnoreCase(temp)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            if(!"or".equalsIgnoreCase(preString)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        if (!"and".equalsIgnoreCase(temp) &&  !"or".equalsIgnoreCase(temp)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            if (!"or".equalsIgnoreCase(preString)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            } 
															 | 
															
															 | 
															
																                            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        } 
															 | 
															
															 | 
															
																                        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        i=kgIndex+i+1; 
															 | 
															
															 | 
															
																                        i=kgIndex+i+1; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        start = ""; 
															 | 
															
															 | 
															
																                        start = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        preString = temp; 
															 | 
															
															 | 
															
																                        preString = temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        temp = start+otherString; 
															 | 
															
															 | 
															
																                        temp = start+otherString; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        if(!"and".equalsIgnoreCase(temp) &&  !"or".equalsIgnoreCase(temp)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            if(!"or".equalsIgnoreCase(preString)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        if (!"and".equalsIgnoreCase(temp) &&  !"or".equalsIgnoreCase(temp)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            if (!"or".equalsIgnoreCase(preString)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderAndQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
															
															 | 
															
																                                q = builderOrQuery(temp,q); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            } 
															 | 
															
															 | 
															
																                            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        } 
															 | 
															
															 | 
															
																                        } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -255,42 +260,42 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            q = "rowkey:*"; 
															 | 
															
															 | 
															
																            q = "rowkey:*"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        q = getQuery(filters, new StringBuilder(q)); 
															 | 
															
															 | 
															
																        q = getQuery(filters, new StringBuilder(q)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return q; 
															 | 
															
															 | 
															
																        return q; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private String builderAndQuery(String temp,String q){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(StringUtils.isNotBlank(temp)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(temp.startsWith("-")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    private String builderAndQuery(String temp, String q){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNotBlank(temp)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (temp.startsWith("-")){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
															
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
															
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(substring)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+="-" + ResourceCells.SEARCH_FIELD + ":" + substring ; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" AND -" + ResourceCells.SEARCH_FIELD + ":" +  substring; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(substring)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += "-" + ResourceCells.SEARCH_FIELD + ":" + substring ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += " AND -" + ResourceCells.SEARCH_FIELD + ":" +  substring; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else if(temp.startsWith("+")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } else if (temp.startsWith("+")){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
															
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
															
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(substring)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+= ResourceCells.SEARCH_FIELD + ":" + temp.substring(1,temp.length()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" AND " + ResourceCells.SEARCH_FIELD + ":" + temp.substring(1,temp.length()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(substring)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += ResourceCells.SEARCH_FIELD + ":" + temp.substring(1,temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q +=" AND " + ResourceCells.SEARCH_FIELD + ":" + temp.substring(1,temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(temp)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(temp)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    temp = ClientUtils.escapeQueryChars(temp); 
															 | 
															
															 | 
															
																                    temp = ClientUtils.escapeQueryChars(temp); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+= ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" AND " + ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += " AND " + ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -298,35 +303,35 @@ public class TextSearchEndPoint extends EnvelopRestEndPoint { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return q; 
															 | 
															
															 | 
															
																        return q; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private String builderOrQuery(String temp,String q){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(StringUtils.isNotBlank(temp)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(temp.startsWith("-")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    private String builderOrQuery(String temp, String q){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNotBlank(temp)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (temp.startsWith("-")){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
															
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
															
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(substring)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+="-" + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" OR -" + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(substring)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += "-" + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += " OR -" + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else if(temp.startsWith("+")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } else if (temp.startsWith("+")){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
															
															 | 
															
																                String substring = temp.substring(1, temp.length()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
															
															 | 
															
																                substring = ClientUtils.escapeQueryChars(substring); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(substring)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+= ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" OR " + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(substring)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += " OR " + ResourceCells.SEARCH_FIELD + ":" + substring; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(StringUtils.isNotBlank(temp)) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNotBlank(temp)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    temp = ClientUtils.escapeQueryChars(temp); 
															 | 
															
															 | 
															
																                    temp = ClientUtils.escapeQueryChars(temp); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(StringUtils.isBlank(q)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+= ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    }else{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        q+=" OR " + ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (StringUtils.isBlank(q)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        q += " OR " + ResourceCells.SEARCH_FIELD + ":" + temp; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 |