feat: There is no way the, xxx
This commit is contained in:
+40
-11
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user