Browse Source

release-3.1.3(20210913,修改了崔老师那个版本的查询,分类标签改成模糊查询)

release-1.0
杜静 4 years ago
parent
commit
10f0ad0e39
  1. 15
      cl_search_api/src/main/java/com/bfd/mf/common/service/cache/TopicQueryService.java
  2. 8
      cl_search_api/src/main/resources/application.yml

15
cl_search_api/src/main/java/com/bfd/mf/common/service/cache/TopicQueryService.java

@ -41,10 +41,23 @@ public class TopicQueryService {
boolQuery.must(valueLableQuery);
}
// 分类标签
// 因为是多选因此需要判断如果是多个的话需要先用, 分隔然后再用模糊匹配进行查询
if(!("").equals(queryRequest.getCategoryLabel()) && null != queryRequest.getCategoryLabel()){
QueryBuilder categoryLableQuery = QueryBuilders.termQuery(ESConstant.CATEGORYLABEL+".keyword",queryRequest.getCategoryLabel());
// QueryBuilder categoryLableQuery = QueryBuilders.queryStringQuery(queryRequest.getCategoryLabel()).defaultField(ESConstant.CATEGORYLABEL); //+".keyword"
if(queryRequest.getCategoryLabel().contains(",")){ // 有多个标签查询用should
String labels []= queryRequest.getCategoryLabel().split(",");
BoolQueryBuilder shouleLaelQuery = QueryBuilders.boolQuery();
for (String label:labels) {
QueryBuilder categoryLableQuery = QueryBuilders.matchPhraseQuery(ESConstant.CATEGORYLABEL,label);
shouleLaelQuery.should(categoryLableQuery);
boolQuery.must(shouleLaelQuery);
}
}else{
QueryBuilder categoryLableQuery = QueryBuilders.matchPhraseQuery(ESConstant.CATEGORYLABEL,queryRequest.getCategoryLabel());
boolQuery.must(categoryLableQuery);
}
}
// searchArea 地点
if (("").equals(queryRequest.getSearchArea())) {
logger.info("[TopicQueryService] queryByConditions_v1 查询全部地区");

8
cl_search_api/src/main/resources/application.yml

@ -7,10 +7,10 @@ server:
http2:
enabled: true
logging:
config: ../etc/logback.xml
level:
com.bfd.mf.controller: trace
#logging:
# config: ../etc/logback.xml
# level:
# com.bfd.mf.controller: trace
spring:
datasource:

Loading…
Cancel
Save