diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 1a700f17..e6d28ffc 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -1330,10 +1330,30 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQueryBuilder; QueryBuilder multiQueryBuilder1; QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery(""); - queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - "sortTitle","numberTitle","yearOrder","nameTitle","title" - ).minimumShouldMatch("100%").field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f); - boolQueryBuilder.must(queryBuilder1); + if(StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ + queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), + "title" + ).minimumShouldMatch("100%").field("title",1000f); + boolQueryBuilder.must(queryBuilder1); + } + + + BoolQueryBuilder queryBuilder = new BoolQueryBuilder(); + if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS()) || StringUtils.isNotBlank(searchInfoEO.getCLLX())){ + if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){ + queryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getNYLXCLASS(), + "textContent" + ).minimumShouldMatch("100%").field("title",1000f)); + } + + if(StringUtils.isNotBlank(searchInfoEO.getCLLX())){ + queryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getCLLX(), + "textContent" + ).minimumShouldMatch("100%").field("title",1000f)); + } + + boolQueryBuilder.must(queryBuilder); + } //在结果中检索 HighlightBuilder hiBuilder=new HighlightBuilder();