|
@@ -359,6 +359,12 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
|
|
|
// .Field("*")
|
|
|
// .preTags("<span style='color:red'>")
|
|
|
// .postTags("</span>").requireFieldMatch(false))
|
|
|
+ .withHighlightBuilder(new HighlightBuilder().field("name").field("enterpriseName")
|
|
|
+ .field("enterpriseAnotherName").requireFieldMatch(Boolean.TRUE)
|
|
|
+ .preTags("<span style='color:red'>")
|
|
|
+ .postTags("</span>")
|
|
|
+ .numOfFragments(10000)
|
|
|
+ )
|
|
|
.withPageable(pageable)
|
|
|
.build();
|
|
|
SearchHits<ESJobAdvertisedMergeDO> search = elasticsearchTemplate.search(searchQuery, ESJobAdvertisedMergeDO.class);
|
|
@@ -366,13 +372,29 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
|
|
|
|
|
|
search.getSearchHits().stream()
|
|
|
.forEach(searchHit -> {
|
|
|
+ Map<String, List<String>> highlightFields = searchHit.getHighlightFields();
|
|
|
+
|
|
|
AppJobAdvertisedSearchRespVO respVO = new AppJobAdvertisedSearchRespVO();
|
|
|
respVO.setJob(JobAdvertisedConvert.INSTANCE.convert(searchHit.getContent()));
|
|
|
+ if (null != highlightFields.get("name")){
|
|
|
+ respVO.getJob()
|
|
|
+ .setName(highlightFields.get("name").get(0));
|
|
|
+ }
|
|
|
|
|
|
AppEnterpriseSimpleRespVO enterprise = EnterpriseConvert.INSTANCE.convert5(searchHit.getContent());
|
|
|
enterprise.setId(searchHit.getContent().getEnterpriseId());
|
|
|
+
|
|
|
enterprise.setName(searchHit.getContent().getEnterpriseName());
|
|
|
+ if (null != highlightFields.get("enterpriseName")){
|
|
|
+ enterprise.setName(highlightFields.get("enterpriseName").get(0));
|
|
|
+ }
|
|
|
+
|
|
|
enterprise.setAnotherName(searchHit.getContent().getEnterpriseAnotherName());
|
|
|
+ if (null != highlightFields.get("enterpriseAnotherName")){
|
|
|
+ enterprise.setAnotherName(highlightFields.get("enterpriseAnotherName").get(0));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
respVO.setEnterprise(enterprise);
|
|
|
|
|
|
// 获取职位发布人
|