Merge branch 'develop_migration' into 'develop_master'
feat: There is no way the, 优化ES 权重 全文搜索 已修改查询问题 待确认 权重字段存储 See merge request LiuChao/foton-slrs-system-rest!463
This commit is contained in:
+37
-14
@@ -1306,7 +1306,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
String select = "";
|
String select = "";
|
||||||
if (-1 != num) {
|
if (-1 != num) {
|
||||||
value = searchInfoEO.getSelectValue().substring(0, num).trim().toUpperCase();
|
value = searchInfoEO.getSelectValue().substring(0, num).trim().toUpperCase();
|
||||||
if (dicMap.containsKey(value) && dicMap.get(value) != null && !"".equals(dicMap.get(value))){
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))){
|
||||||
select = searchInfoEO.getSelectValue().substring(num + 1).trim();
|
select = searchInfoEO.getSelectValue().substring(num + 1).trim();
|
||||||
real = value + " " + select;
|
real = value + " " + select;
|
||||||
}else {
|
}else {
|
||||||
@@ -1315,13 +1315,18 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
String reg = ".*[0-9].*";
|
String reg = ".*[0-9].*";
|
||||||
if("-".contains(real)){
|
if(real.contains("-")){
|
||||||
String content = real.split("-")[0];
|
String content = real.split("-")[0];
|
||||||
value = content.replaceAll("[^(A-Za-z\\/)]", "");
|
value = content.replaceAll("[^(A-Za-z\\/)]", "");
|
||||||
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))) {
|
||||||
String[] valArr = value.split("\\/");
|
String[] valArr = value.split("\\/");
|
||||||
if (valArr.length > 2) {
|
if (valArr.length > 2) {
|
||||||
value = valArr[0] + "/" + valArr[1];
|
value = valArr[0] + "/" + valArr[1];
|
||||||
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))) {
|
||||||
select = content.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
select = content.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
||||||
|
}else {
|
||||||
|
select = content.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "");
|
||||||
|
}
|
||||||
// 如果类别小写 转 大写
|
// 如果类别小写 转 大写
|
||||||
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
||||||
if (pattern.matcher(value).matches()) {
|
if (pattern.matcher(value).matches()) {
|
||||||
@@ -1329,21 +1334,31 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
value = valArr[0];
|
value = valArr[0];
|
||||||
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))) {
|
||||||
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
||||||
|
}else {
|
||||||
|
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "");
|
||||||
|
}
|
||||||
// 如果类别小写 转 大写
|
// 如果类别小写 转 大写
|
||||||
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
||||||
if (pattern.matcher(value).matches()) {
|
if (pattern.matcher(value).matches()) {
|
||||||
value = value.toUpperCase();
|
value = value.toUpperCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dicMap.containsKey(value) && dicMap.get(value) != null && !"".equals(dicMap.get(value))){
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))){
|
||||||
real = value + " " + select;
|
real = value + " " + select;
|
||||||
}else {
|
}else {
|
||||||
select = null;
|
select = real;
|
||||||
value = real;
|
value = null;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
select = real;
|
||||||
|
value = null;
|
||||||
}
|
}
|
||||||
}else if(real.matches(reg)){
|
}else if(real.matches(reg)){
|
||||||
value = real.replaceAll("[^(A-Za-z\\/)]", "");
|
value = real.replaceAll("[^(A-Za-z\\/)]", "");
|
||||||
|
System.out.println(dicMap.containsKey(value.toUpperCase()));
|
||||||
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))) {
|
||||||
String[] valArr = value.split("\\/");
|
String[] valArr = value.split("\\/");
|
||||||
if (valArr.length > 2) {
|
if (valArr.length > 2) {
|
||||||
value = valArr[0] + "/" + valArr[1];
|
value = valArr[0] + "/" + valArr[1];
|
||||||
@@ -1356,7 +1371,11 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
select = sel;
|
select = sel;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))) {
|
||||||
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "").replace(value,"");
|
||||||
|
}else {
|
||||||
|
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\(\\)\\)\\s\\/\\-\\:)]", "");
|
||||||
|
}
|
||||||
|
|
||||||
// 如果类别小写 转 大写
|
// 如果类别小写 转 大写
|
||||||
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
|
||||||
@@ -1364,11 +1383,15 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
value = value.toUpperCase();
|
value = value.toUpperCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dicMap.containsKey(value) && dicMap.get(value) != null && !"".equals(dicMap.get(value))){
|
if (dicMap.containsKey(value.toUpperCase()) && dicMap.get(value.toUpperCase()) != null && !"".equals(dicMap.get(value.toUpperCase()))){
|
||||||
real = value + " " + select;
|
real = value + " " + select;
|
||||||
}else {
|
}else {
|
||||||
select = null;
|
select = real;
|
||||||
value = real;
|
value = null;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
select = real;
|
||||||
|
value = null;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
value = real;
|
value = real;
|
||||||
@@ -1424,9 +1447,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
if(null != value || null != selects){
|
if(null != value || null != selects){
|
||||||
if (null != value && selects == null) {
|
if (null != value && selects == null) {
|
||||||
boolSelectValue
|
boolSelectValue
|
||||||
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + value + "*").boost(1000f))
|
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + value.toUpperCase() + "*").boost(1000f))
|
||||||
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + value + "*").boost(0.0000000000000000000000000000000001f))
|
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + value.toUpperCase() + "*").boost(0.0000000000000000000000000000000001f))
|
||||||
.should(QueryBuilders.wildcardQuery("issue_time", "*" + value + "*"));
|
.should(QueryBuilders.wildcardQuery("issue_time", "*" + value.toUpperCase() + "*"));
|
||||||
// multiQueryBuilder = QueryBuilders.multiMatchQuery("*"+value+"*",
|
// multiQueryBuilder = QueryBuilders.multiMatchQuery("*"+value+"*",
|
||||||
// "title.keyword", "textContent", "issue_time").minimumShouldMatch("100%").field("title.keyword", 1000f).field("textContent.keyword", 0.0000000000000000000000000000000001f);
|
// "title.keyword", "textContent", "issue_time").minimumShouldMatch("100%").field("title.keyword", 1000f).field("textContent.keyword", 0.0000000000000000000000000000000001f);
|
||||||
//// boolQueryMust.must(multiQueryBuilder);
|
//// boolQueryMust.must(multiQueryBuilder);
|
||||||
@@ -1435,9 +1458,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
// searchInfoEO.setSelectValue(searchInfoEO.getSelectValue().replace("-","\\-"));
|
// searchInfoEO.setSelectValue(searchInfoEO.getSelectValue().replace("-","\\-"));
|
||||||
if (null != selects) {
|
if (null != selects) {
|
||||||
boolSelectValue
|
boolSelectValue
|
||||||
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + real + "*").boost(1000f))
|
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + real.toUpperCase() + "*").boost(1000f))
|
||||||
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + real + "*").boost(0.0000000000000000000000000000000001f))
|
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + real.toUpperCase() + "*").boost(0.0000000000000000000000000000000001f))
|
||||||
.should(QueryBuilders.wildcardQuery("issue_time", "*" + real + "*"));
|
.should(QueryBuilders.wildcardQuery("issue_time", "*" + real.toUpperCase() + "*"));
|
||||||
// for (String se : selects) {
|
// for (String se : selects) {
|
||||||
// if (StringUtils.isNotBlank(se)) {
|
// if (StringUtils.isNotBlank(se)) {
|
||||||
// boolSelectValue
|
// boolSelectValue
|
||||||
|
|||||||
Reference in New Issue
Block a user