|
@@ -249,27 +249,59 @@ public class EsDenseVectorService {
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(companyName)) {
|
|
|
+ String s1 = this.appendStr(companyName);
|
|
|
if (StringUtils.isEmpty(searchCondition)) {
|
|
|
- searchCondition = "PE = " + "(" + companyName + ")";
|
|
|
+ searchCondition = "PE = " + "(" + s1 + ")";
|
|
|
} else {
|
|
|
- searchCondition = searchCondition + " AND " + "PE = " + "(" + "\"" + companyName + "\"" + ")";
|
|
|
+ searchCondition = searchCondition + " AND " + "PE = " + "(" + s1 + ")";
|
|
|
}
|
|
|
}
|
|
|
- if (StringUtils.isNotEmpty(searchCondition)) {
|
|
|
- if (StringUtils.isNotEmpty(keyword)) {
|
|
|
- String key = keyword.replaceAll("[,。、;,./;]", " OR ");
|
|
|
- condition = "TI = " + "(" + "\"" + key + "\"" + ")" + " AND " + searchCondition;
|
|
|
+ if (StringUtils.isNotEmpty(keyword)) {
|
|
|
+ String s = this.appendStr(keyword);
|
|
|
+ if (StringUtils.isEmpty(searchCondition)) {
|
|
|
+ condition = "TI = " + "(" + s + ")";
|
|
|
} else {
|
|
|
- condition = searchCondition;
|
|
|
+ condition = searchCondition + " AND " + "TI = " + "(" + s + ")";
|
|
|
}
|
|
|
} else {
|
|
|
- //获取关键词
|
|
|
- if (StringUtils.isNotEmpty(keyword)) {
|
|
|
-// String key = dto.getKey().replaceAll("[,。、;,./;\\s]"," OR ");
|
|
|
- String key = keyword.replaceAll("[,。、;,./;]", " OR ");
|
|
|
- condition = "TI = " + "(" + "\"" + key + "\"" + ")";
|
|
|
- }
|
|
|
+ condition = searchCondition;
|
|
|
}
|
|
|
+// if (StringUtils.isNotEmpty(searchCondition)) {
|
|
|
+// if (StringUtils.isNotEmpty(keyword)) {
|
|
|
+// String key = keyword.replaceAll("[,。、;,./;]", " OR ");
|
|
|
+// condition = "TI = " + "(" + "\"" + key + "\"" + ")" + " AND " + searchCondition;
|
|
|
+// } else {
|
|
|
+// condition = searchCondition;
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// //获取关键词
|
|
|
+// if (StringUtils.isNotEmpty(keyword)) {
|
|
|
+//// String key = dto.getKey().replaceAll("[,。、;,./;\\s]"," OR ");
|
|
|
+// String key = keyword.replaceAll("[,。、;,./;]", " OR ");
|
|
|
+// condition = "TI = " + "(" + "\"" + key + "\"" + ")";
|
|
|
+// }
|
|
|
+// }
|
|
|
return condition;
|
|
|
}
|
|
|
+
|
|
|
+ public String appendStr(String str) {
|
|
|
+ String needStr = "";
|
|
|
+ String cName = str.replaceAll("[,。、;,./;]", "OR");
|
|
|
+ if (cName.contains("OR")) {
|
|
|
+ String[] split = cName.split("OR");
|
|
|
+ String ccName = "";
|
|
|
+ for (int i = 0; i < split.length; i++) {
|
|
|
+ String s = split[i];
|
|
|
+ if (split.length -1 != i) {
|
|
|
+ ccName = ccName + "\"" + s + "\"" + " OR ";
|
|
|
+ } else {
|
|
|
+ ccName = ccName + "\"" + s + "\"";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ needStr = ccName;
|
|
|
+ } else {
|
|
|
+ needStr = "\"" + str + "\"";
|
|
|
+ }
|
|
|
+ return needStr;
|
|
|
+ }
|
|
|
}
|