feat: There is no way the, 新需求 调整ES 检索规则 更新 es 操作文档
This commit is contained in:
+13
-14
@@ -220,27 +220,26 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
String sortField2 = "";
|
||||
String sortField3 = "";
|
||||
if("laws".equals(searchInfoEO.getSelectIndex())){
|
||||
sortField = "lawsYear";
|
||||
sortField1 = "lawsType";
|
||||
sortField2 = "lawsNumber";
|
||||
sortField1 = "lawsNumber";
|
||||
sortField2 = "lawsYear";
|
||||
sortField3 = "lawsType.keyword";
|
||||
}else {
|
||||
sortField = "standYear";
|
||||
sortField1 = "standSort";
|
||||
sortField2 = "standNumber";
|
||||
sortField1 = "standNumber";
|
||||
sortField2 = "standYear";
|
||||
sortField3 = "standSort.keyword";
|
||||
}
|
||||
searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex())
|
||||
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
|
||||
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
|
||||
.addSort(new ScoreSortBuilder().order(SortOrder.DESC))
|
||||
.addSort("standSortOrder", SortOrder.ASC)
|
||||
.addSort(sortField1, SortOrder.ASC)
|
||||
.addSort(sortField2, SortOrder.ASC)
|
||||
.addSort(sortField, SortOrder.DESC)
|
||||
.addSort(sortField2, SortOrder.DESC)
|
||||
.addSort(sortField3, SortOrder.ASC)
|
||||
.addSort("issue_time_data", SortOrder.DESC)
|
||||
.setSize(searchInfoEO.getPageSize());
|
||||
|
||||
if(StringUtils.isNotBlank(searchInfoEO.getSelectType()) && !"titleSearch".equals(searchInfoEO.getSelectType())) {
|
||||
if(StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) {
|
||||
if(searchInfoEO.getSelectIndex().equals("stand")) {
|
||||
boolQueryShould = queryStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
} else if(searchInfoEO.getSelectIndex().equals("laws")){
|
||||
@@ -1472,10 +1471,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
// }
|
||||
// }
|
||||
boolQueryShould
|
||||
.should(QueryBuilders.wildcardQuery("sortTitle.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1005f))
|
||||
.should(QueryBuilders.wildcardQuery("numberTitle.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1004f))
|
||||
.should(QueryBuilders.wildcardQuery("yearOrder.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1003f))
|
||||
.should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1002f))
|
||||
.should(QueryBuilders.wildcardQuery("sortTitle.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
|
||||
.should(QueryBuilders.termQuery("numberTitle", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f))
|
||||
.should(QueryBuilders.wildcardQuery("yearOrder.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f))
|
||||
.should(QueryBuilders.wildcardQuery("nameTitle.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1002f))
|
||||
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f));
|
||||
// queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
||||
// "sortTitle","numberTitle","yearOrder","nameTitle","title"
|
||||
@@ -1523,7 +1522,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
.addSort(new ScoreSortBuilder().order(SortOrder.DESC))
|
||||
.addSort("standTypeOrder",SortOrder.ASC)
|
||||
.addSort("standSortOrder",SortOrder.ASC)
|
||||
.addSort("numberTitle.keyword",SortOrder.ASC)
|
||||
.addSort("numberTitle",SortOrder.ASC)
|
||||
.addSort("yearOrder.keyword",SortOrder.DESC)
|
||||
.addSort("sortTitle.keyword",SortOrder.ASC)
|
||||
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
|
||||
|
||||
+15
-3
@@ -151,6 +151,13 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
|
||||
//查询字典表,形成Hash映射提升速度
|
||||
List<DicTypeEO> dicInfo = dicTypeEODao.getDicInfo("dic_id","dic_type_code", "dic_type_name","show_index");
|
||||
dicInfo = dicInfo.stream().filter(dicTypeEO -> {
|
||||
if(StringUtils.isNotBlank(dicTypeEO.getDicTypeCode())){
|
||||
dicTypeEO.setDicTypeCode(dicTypeEO.getDicTypeCode().replace(" ",""));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
Map<String, Integer> dicMap = dicInfo.stream()
|
||||
.filter(item-> ("2klxdk7fo3tvpvin70dk".equals(item.getDicId()) || "18mg1g4x0rwubcto7fdd".equals(item.getDicId()) || "08rerbsn8ucjfk13z2ci".equals(item.getDicId()) || "pnv0ik979yqogocqujwo".equals(item.getDicId())) && !item.getDicTypeCode().isEmpty())
|
||||
.collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getShowIndex,(value1, value2 )->value2));
|
||||
@@ -426,9 +433,14 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
return fullTextSearchEO;
|
||||
}
|
||||
|
||||
private String esStateOrder(String data, Map<String,Integer> dicMap){
|
||||
if(StringUtils.isNotBlank(data) && dicMap.get(data.toUpperCase()) != null){
|
||||
return String.valueOf(dicMap.get(data.toUpperCase()));
|
||||
private String esStateOrder(String data, Map<String, Integer> dicMap){
|
||||
if(StringUtils.isNotBlank(data)){
|
||||
data = data.replace(" ","");
|
||||
if(dicMap.get(data.trim().toUpperCase()) != null){
|
||||
return String.valueOf(dicMap.get(data.trim().toUpperCase()));
|
||||
}else {
|
||||
return "99999";
|
||||
}
|
||||
}else {
|
||||
return "99999";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user