Commit 98ef57e6 by shenjunjie

Merge branch 'feature' into 'dev'

原发追溯调整

See merge request !521
parents 90c9a6a5 e5ca37fe
......@@ -3510,11 +3510,9 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override
public PageVO<JSONObject> getWholeSearchArticleList(MarkSearchDTO dto) {
try {
defaultMarkSearch(dto);
// keyword
BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery();
keywordQuery.must(EsQueryTools.assembleNormalKeywordQuery(dto.getKeyword(), new String[]{GenericAttribute.ES_IND_FULL_TEXT}));
BoolQueryBuilder query = QueryBuilders.boolQuery().must(keywordQuery);
BoolQueryBuilder query = getAllIndexSearchOriginQuery(dto);
String[] indexes = esClientDao.getAllIndexes(dto.getStartTime(), dto.getEndTime());
Long total = esClientDao.count(indexes, query, null);
// platform query
if (Objects.equals("其他", dto.getPlatforms().get(0))){
List<String> platforms = getWholeSearchPlatformPercentage(dto).stream().map(json -> json.getString("platform")).collect(Collectors.toList());
......@@ -3527,7 +3525,6 @@ public class MarkDataServiceImpl implements MarkDataService {
}
int page = dto.getPage();
int pageSize = dto.getPageSize();
String[] indexes = esClientDao.getAllIndexes(dto.getStartTime(), dto.getEndTime());
FieldSortBuilder sort = new FieldSortBuilder("time").order(SortOrder.ASC);
SearchHits hits = esClientDao.searchHits(indexes, query, null, null, sort, (page - 1) * pageSize, pageSize, null);
List<JSONObject> list = new ArrayList<>();
......@@ -3543,9 +3540,10 @@ public class MarkDataServiceImpl implements MarkDataService {
? Tools.getTitleWithContent(data.getString("title"), data.getString("content"))
: Tools.getTitleWithContent(data.getString("questionTitle"), data.getString("questionContent"));
jsonObject.put("title", title);
jsonObject.put("url", data.getString("url"));
list.add(jsonObject);
}
return PageVO.createPageVo(hits.getHits().length, page, pageSize, list);
return PageVO.createPageVo(total, page, pageSize, list);
}catch (Exception e){
ExceptionCast.cast(CommonCodeEnum.FAIL, "全网搜原发溯源文章列表getWholeSearchArticleList异常-", e);
}
......@@ -3556,7 +3554,8 @@ public class MarkDataServiceImpl implements MarkDataService {
dto.setStartTime(dto.getEndTime() - Constant.ONE_MONTH);
// keyword
BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery();
keywordQuery.must(QueryBuilders.matchPhraseQuery(GenericAttribute.ES_IND_FULL_TEXT, dto.getKeyword()));
// 使用matchPhrasePrefixQuery,保证单词被截取后也能查询
keywordQuery.must(QueryBuilders.matchPhrasePrefixQuery(GenericAttribute.ES_IND_FULL_TEXT, dto.getKeyword()));
// platform
BoolQueryBuilder platformQuery = EsQueryTools.assemblePlatformQuery(GlobalPojo.PLATFORMS);
return QueryBuilders.boolQuery().must(keywordQuery).must(platformQuery)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment