提交 31faf612 作者: obcy

【已入库数据检索支持查询发布时间为空的数据-fix】

上级 1074c388
......@@ -2245,25 +2245,24 @@ public class EsService {
.nestedQuery("sortField", QueryBuilders.rangeQuery("sortField.fieldLong").lte(maxContentLength), ScoreMode.None);
boolQuery.filter(nestedQueryBuilder);
}
//时间过滤筛选-前端传参
if(StringUtils.isEmpty(searchCondition.getStartTime()) && StringUtils.isEmpty(searchCondition.getEndTime())){
BoolQueryBuilder publishDateQueryBuilder = QueryBuilders.boolQuery();
BoolQueryBuilder configDateQueryBuilder = QueryBuilders.boolQuery();
//时间过滤筛选-专题配置
if (StringUtils.isNotBlank(searchCondition.getStartTime())) {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").gte(EsDateUtil.esFieldDateFormat(searchCondition.getStartTime())));
}
if (StringUtils.isNotBlank(searchCondition.getEndTime())) {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").lte(EsDateUtil.esFieldDateFormat(searchCondition.getEndTime())));
} else {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").lte(EsDateUtil.esFieldDateFormat(DateUtil.dateToString(new Date()))));
}
publishDateQueryBuilder.should(configDateQueryBuilder);
if(timeFlag){
publishDateQueryBuilder.should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("publishDate")));
}
boolQuery.must(publishDateQueryBuilder);
BoolQueryBuilder publishDateQueryBuilder = QueryBuilders.boolQuery();
BoolQueryBuilder configDateQueryBuilder = QueryBuilders.boolQuery();
//时间过滤筛选-专题配置
if (StringUtils.isNotBlank(searchCondition.getStartTime())) {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").gte(EsDateUtil.esFieldDateFormat(searchCondition.getStartTime())));
}
if (StringUtils.isNotBlank(searchCondition.getEndTime())) {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").lte(EsDateUtil.esFieldDateFormat(searchCondition.getEndTime())));
} else {
configDateQueryBuilder.must(QueryBuilders.rangeQuery("publishDate").lte(EsDateUtil.esFieldDateFormat(DateUtil.dateToString(new Date()))));
}
publishDateQueryBuilder.should(configDateQueryBuilder);
if(timeFlag){
publishDateQueryBuilder.should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("publishDate")));
}
boolQuery.must(publishDateQueryBuilder);
String crawler = searchCondition.getCrawler();
if (StringUtils.isNotBlank(crawler)) {
boolQuery.must(QueryBuilders.termQuery("source.keyword", crawler));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论