Commit d50dd543 by 田超

Merge branch 'feature/es_search_0423' into 'master'

feat:[none] 优化小睿搜索策略

See merge request rays/pcloud-book!1276
parents b7d1659c 98ec9d7d
...@@ -413,25 +413,24 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -413,25 +413,24 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
BoolQueryBuilder adviserIdBuilder = getAdviserIdBuilder(grayStatus); BoolQueryBuilder adviserIdBuilder = getAdviserIdBuilder(grayStatus);
//屏蔽指定书籍 //屏蔽指定书籍
BoolQueryBuilder bookBuilder = getBookBuilder(); BoolQueryBuilder bookBuilder = getBookBuilder();
boolQueryBuilder.must(bookBuilder); boolQueryBuilder.filter(bookBuilder);
boolQueryBuilder.must(adviserIdBuilder); boolQueryBuilder.filter(adviserIdBuilder);
if (isIsbn(keyword)) { if (isIsbn(keyword)) {
boolQueryBuilder.must(QueryBuilders.termsQuery("isbn", keyword)); boolQueryBuilder.filter(QueryBuilders.termsQuery("isbn", keyword));
} else if (StringUtils.isNotBlank(keyword)) { } else if (StringUtils.isNotBlank(keyword)) {
MatchQueryBuilder mqb = QueryBuilders.matchQuery("ikBookName", keyword).minimumShouldMatch("75%"); // MatchQueryBuilder mqb = QueryBuilders.matchQuery("ikBookName", keyword).minimumShouldMatch("75%");
boolQueryBuilder.must(QueryBuilders.queryStringQuery(keyword).field("ikBookName").minimumShouldMatch("75%"));
boolQueryBuilder.must(mqb);
} }
if (!ListUtils.isEmpty(scecondTempletIds)) { if (!ListUtils.isEmpty(scecondTempletIds)) {
if (ListUtils.isEmpty(graLabelIds) && ListUtils.isEmpty(subLabelIds)) { if (ListUtils.isEmpty(graLabelIds) && ListUtils.isEmpty(subLabelIds)) {
boolQueryBuilder.must(must2); boolQueryBuilder.filter(must2);
} else { } else {
boolQueryBuilder.must(should2); boolQueryBuilder.filter(should2);
} }
} else if (!ListUtils.isEmpty(graLabelIds) || !ListUtils.isEmpty(subLabelIds)) { } else if (!ListUtils.isEmpty(graLabelIds) || !ListUtils.isEmpty(subLabelIds)) {
boolQueryBuilder.must(must1); boolQueryBuilder.filter(must1);
} }
// 排序:因为涉及分词,故而_score固定放在第一位 // 排序:因为涉及分词,故而_score固定放在第一位
Sort sort = new Sort(Sort.Direction.DESC, "_score", "isApproval", "isFundSupport", "fundBookValue", "resourceCount", "isAdviserBook", "lastModifiedDate", "bookId"); Sort sort = new Sort(Sort.Direction.DESC, "_score", "isApproval", "isFundSupport", "fundBookValue", "resourceCount", "isAdviserBook", "lastModifiedDate", "bookId");
......
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