feat: There is no way the, xxx

This commit is contained in:
super_liu
2022-04-28 19:07:48 +08:00
parent 375401e83a
commit 2bc71ee31c
7 changed files with 67 additions and 11 deletions
@@ -30,6 +30,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.json.JSONTokener;
import org.slf4j.LoggerFactory;
@@ -1295,7 +1296,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
String value = "";
String select = "";
if (-1 != num) {
value = searchInfoEO.getSelectValue().substring(0, num).trim();
value = searchInfoEO.getSelectValue().substring(0, num).trim().toUpperCase();
select = searchInfoEO.getSelectValue().substring(num + 1).trim();
real = value + " " + select;
}else{
@@ -1306,10 +1307,20 @@ public class SearchCenterServiceImpl implements SearchCenterService {
String[] valArr = value.split("\\/");
if (valArr.length > 2) {
value = valArr[0] + "/" + valArr[1];
select = content.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replaceAll(value,"");
select = content.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replace(value,"");
// 如果类别小写 转 大写
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
if (pattern.matcher(value).matches()) {
value = value.toUpperCase();
}
}else{
value = valArr[0];
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replaceAll(value,"");
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replace(value,"");
// 如果类别小写 转 大写
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
if (pattern.matcher(value).matches()) {
value = value.toUpperCase();
}
}
real = value + " " + select;
}else if(real.matches(reg)){
@@ -1326,13 +1337,23 @@ public class SearchCenterServiceImpl implements SearchCenterService {
select = sel;
}
}else{
value = valArr[0];
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replaceAll(value,"");
select = real.replaceAll("[^(0-9a-zA-Z\\.\\(\\\\\\)\\s\\/\\-\\:)]", "").replace(value,"");
// 如果类别小写 转 大写
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
if (pattern.matcher(value).matches()) {
value = value.toUpperCase();
}
}
real = value + " " + select;
}else {
value = real;
select = "";
// 如果类别小写 转 大写
Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$");
if (pattern.matcher(value).matches()) {
value = value.toUpperCase();
}
}
}
searchInfoEO.setSelectValue(select);
@@ -1380,13 +1401,13 @@ public class SearchCenterServiceImpl implements SearchCenterService {
if (null != value && selects == null) {
boolSelectValue.should(QueryBuilders.multiMatchQuery(value,
"title"
).minimumShouldMatch("100%").field("title",1000f));
).minimumShouldMatch("100%"));
boolSelectValue.should(QueryBuilders.multiMatchQuery(value,
"textContent"
).minimumShouldMatch("100%").field("title",1000f));
).minimumShouldMatch("100%"));
boolSelectValue.should(QueryBuilders.multiMatchQuery(value,
"textItems"
).minimumShouldMatch("100%").field("title",1000f));
).minimumShouldMatch("100%"));
boolSelectValue.should(QueryBuilders.wildcardQuery("title.keyword","*"+value+"*"));
// multiQueryBuilder = QueryBuilders.multiMatchQuery("*"+value+"*",
// "title.keyword", "textContent", "issue_time").minimumShouldMatch("100%").field("title.keyword", 1000f).field("textContent.keyword", 0.0000000000000000000000000000000001f);
@@ -1396,8 +1417,8 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// searchInfoEO.setSelectValue(searchInfoEO.getSelectValue().replace("-","\\-"));
if (null != selects) {
boolSelectValue
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + real + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + real + "*").boost(0.0000000000000000000000000000000001f))
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + real + "*"))
.should(QueryBuilders.wildcardQuery("textContent.keyword", "*" + real + "*"))
.should(QueryBuilders.wildcardQuery("issue_time", "*" + real + "*"));
// for (String se : selects) {
// if (StringUtils.isNotBlank(se)) {
@@ -1447,13 +1468,14 @@ public class SearchCenterServiceImpl implements SearchCenterService {
updateIndex("fulltextserch",99999999,2);
searchRequestBuilder = client.prepareSearch("fulltextserch")
.addSort(SortBuilders.fieldSort("issue_time").unmappedType("String").order(SortOrder.DESC))
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.highlighter(hiBuilder)
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
.setSize(searchInfoEO.getPageSize());
searchRequestBuilder.setQuery(boolQueryShould).setTrackTotalHits(true);
searchRequestBuilder.addSort(SortBuilders.fieldSort("issue_time").unmappedType("String").order(SortOrder.DESC));
// 获取查询到的结果
SearchResponse response = searchRequestBuilder.get();
for (SearchHit searchHit : response.getHits().getHits()) {
@@ -1486,6 +1508,13 @@ public class SearchCenterServiceImpl implements SearchCenterService {
result.add(sourceAsMap);
}
searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value);
// result.sort((o1, o2) -> {
// if (o1.get("issue_time") != null && o2.get("issue_time") != null) {
// return o2.get("issue_time").toString().compareTo(o1.get("issue_time").toString());
// } else {
// return o1.get("issue_time") == null ? 1 : -1;
// }
// });
return result;
}
@@ -279,4 +279,7 @@ public class SarLawsStandInfoPage extends BasePage {
@TableField(exist = false)
private String exportAllResult;
@TableField(exist = false)
private String syncParam;
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarStandardsInfo.entity;
import com.adc.da.sys.common.BasePage;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.util.List;
@@ -173,6 +174,16 @@ public class SarBussionessStandEOPage extends BasePage {
private String exportAllAttrInfo;
private String exportAllResult;
private String syncParam;
public String getSyncParam() {
return syncParam;
}
public void setSyncParam(String syncParam) {
this.syncParam = syncParam;
}
public String getExportAllResult() {
return exportAllResult;
}
@@ -91,6 +91,9 @@ public class SarStandardsInfoEOPage extends BasePage {
private String orderBy1 = "SAR_STANDARDS_INFO.issue_time";
private String order1 = "";
// syncParam == sync
private String syncParam;
/**
* zhaokaiyao
* 文本状态
@@ -489,6 +489,10 @@
and text_status_buss=#{textStatusBuss}
</if>
<if test='syncParam != null and syncParam == "sync"'>
and SAR_BUSSIONESS_STAND.MODIFY_TIME between DATE_SUB(NOW(),INTERVAL 7 day) and DATE_SUB(NOW(),INTERVAL -1 day)
</if>
<if test="standCode != null" >
<!-- and (
(concat(dicstandSort.DIC_TYPE_NAME, ' ', SAR_BUSSIONESS_STAND.STAND_CODE, '-', SAR_BUSSIONESS_STAND.STAND_YEAR)
@@ -88,6 +88,9 @@
where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0
<trim suffixOverrides=",">
<!-- 基本搜索项 -->
<if test='syncParam != null and syncParam == "sync"'>
and SAR_LAWS_STAND_INFO.MODIFY_TIME between DATE_SUB(NOW(),INTERVAL 7 day) and DATE_SUB(NOW(),INTERVAL -1 day)
</if>
<if test="lawsType != null and lawsType != ''">
and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%')
</if>
@@ -979,6 +979,9 @@
<if test='page.standType != null and page.standType != "ALL"'>
and stand_type = #{page.standType}
</if>
<if test='page.syncParam != null and page.syncParam != ""'>
and MODIFY_TIME between DATE_SUB(NOW(),INTERVAL 7 day) and DATE_SUB(NOW(),INTERVAL -1 day)
</if>
<!-- 基本搜索项 -->
<!-- 国家、地区 -->
<if test="page.country != null and page.country != ''">