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 6e15d2f9..c284f93e 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 @@ -45,6 +45,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.lang.reflect.Field; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; @@ -253,7 +254,6 @@ public class SearchCenterServiceImpl implements SearchCenterService { } 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) @@ -1124,6 +1124,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { return result; } + public static Map objectToMap(Object obj){ if(obj == null){ return null; @@ -1664,6 +1665,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { .should(QueryBuilders.wildcardQuery("numberTitle.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1004f)) .should(QueryBuilders.wildcardQuery("yearOrder.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1003f)) .should(QueryBuilders.wildcardQuery("nameTitle.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1002f)) + .should(QueryBuilders.wildcardQuery("nameEnTitle.keyword","*"+ searchInfoEO.getSelectValue() + "*").boost(1002f)) .should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(1000f)) .should(QueryBuilders.wildcardQuery("titleBig.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)) .should(QueryBuilders.wildcardQuery("NYLXName.keyword",searchInfoEO.getSelectValue().toUpperCase()).boost(1005f)) @@ -1771,8 +1773,10 @@ public class SearchCenterServiceImpl implements SearchCenterService { //高亮标题覆盖原标题 String titleStr = sourceAsMap.get("title").toString(); int i = indexOfToKMP(titleStr.toUpperCase(), searchInfoEO.getSelectValue().toUpperCase(), 0, getNextValInstance()); - String selectValue = titleStr.substring(i,i+searchInfoEO.getSelectValue().length()); - titleStr = titleStr.replace(selectValue,""+selectValue+""); + if (i >= 0) { + String selectValue = titleStr.substring(i,i+searchInfoEO.getSelectValue().length()); + titleStr = titleStr.replace(selectValue,""+selectValue+""); + } if(StringUtils.isNotBlank(textStatusColor)){ sourceAsMap.put("title", ""+titleStr+""); }else {