feat: There is no way the, 优化ES

This commit is contained in:
super_liu
2022-04-30 18:45:45 +08:00
parent bfc902b32f
commit c2049f4a9d
2 changed files with 87 additions and 34 deletions
@@ -1413,30 +1413,30 @@ public class SearchCenterServiceImpl implements SearchCenterService {
BoolQueryBuilder boolSelectValue = new BoolQueryBuilder();
QueryBuilder multiQueryBuilder;
String[] selects = null;
if (StringUtils.isNotBlank(select)) {
//判断标准号是否企标SMTC ,标准列别 (),/,字母
Pattern pattern = Pattern.compile("^[a-zA-Z\\/\\(\\)\\\\]+$");
if (pattern.matcher(value).matches()) {
Pattern patternbianhao = Pattern.compile("^[0-9a-zA-Z\\.\\(\\\\\\)\\-\\s]+$");
if (patternbianhao.matcher(select).matches()) {
//符合标准编号
selects = select.replace(" ","-").split("-");
} else {
//不符合标准编号 使用wildcard查询 编号
selects = select.replace(" ","-").split("-");
}
} else {
//不符合标准类别,wildcard 查询整体 real 6/23 解决搜索DRE的问题
selects = null;
value = real;
// isReal = true;
}
}else{
//没有空格,存在问题,使用wildcard查询 real
selects = null;
value = real;
// isReal = true;
}
// if (StringUtils.isNotBlank(select)) {
// //判断标准号是否企标SMTC ,标准列别 (),/,字母
// Pattern pattern = Pattern.compile("^[a-zA-Z\\/\\(\\)\\\\]+$");
// if (pattern.matcher(value).matches()) {
// Pattern patternbianhao = Pattern.compile("^[0-9a-zA-Z\\.\\(\\\\\\)\\-\\s]+$");
// if (patternbianhao.matcher(select).matches()) {
// //符合标准编号
// selects = select.replace(" ","-").split("-");
// } else {
// //不符合标准编号 使用wildcard查询 编号
// selects = select.replace(" ","-").split("-");
// }
// } else {
// //不符合标准类别,wildcard 查询整体 real 6/23 解决搜索DRE的问题
// selects = null;
// value = real;
//// isReal = true;
// }
// }else{
// //没有空格,存在问题,使用wildcard查询 real
// selects = null;
// value = real;
//// isReal = true;
// }
if (isReal){
//查询real
@@ -1444,9 +1444,13 @@ public class SearchCenterServiceImpl implements SearchCenterService {
selects = null;
}
if(null != value || null != selects){
if (null != value && selects == null) {
if(null != value || null != select){
if (null != value && select == null) {
boolSelectValue
.should(QueryBuilders.wildcardQuery("sortTitle.keyword", "*" + value.toUpperCase() + "*").boost(1005f))
.should(QueryBuilders.wildcardQuery("numberTitle.keyword", "*" + value.toUpperCase() + "*").boost(1003f))
.should(QueryBuilders.wildcardQuery("yearOrder.keyword", "*" + value.toUpperCase() + "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + value.toUpperCase() + "*").boost(1001f))
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + value.toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + value.toUpperCase() + "*").boost(0.0000000000000000000000000000000001f))
.should(QueryBuilders.wildcardQuery("issue_time", "*" + value.toUpperCase() + "*"));
@@ -1456,8 +1460,12 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// boolQueryShould.should(multiQueryBuilder);
}
// searchInfoEO.setSelectValue(searchInfoEO.getSelectValue().replace("-","\\-"));
if (null != selects) {
if (null != select) {
boolSelectValue
.should(QueryBuilders.wildcardQuery("sortTitle.keyword", "*" + real.toUpperCase() + "*").boost(1005f))
.should(QueryBuilders.wildcardQuery("numberTitle.keyword", "*" + real.toUpperCase() + "*").boost(1003f))
.should(QueryBuilders.wildcardQuery("yearOrder.keyword", "*" + real.toUpperCase() + "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + real.toUpperCase() + "*").boost(1001f))
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + real.toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + real.toUpperCase() + "*").boost(0.0000000000000000000000000000000001f))
.should(QueryBuilders.wildcardQuery("issue_time", "*" + real.toUpperCase() + "*"));
@@ -1511,6 +1519,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
searchRequestBuilder = client.prepareSearch("fulltextserch")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.highlighter(hiBuilder)
.addSort("issue_time_order",SortOrder.DESC)
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
.setSize(searchInfoEO.getPageSize());