...
|
...
|
@@ -95,7 +95,7 @@ public class SearchRecommendServiceImpl implements ISearchRecommendService { |
|
|
String keywordsToSearch = queryWord;
|
|
|
|
|
|
// 搜索推荐分两部分
|
|
|
// 1) 第一部分是最常见的情况,包括有结果、根据SKN搜索、关键词未出现在空结果的REDIS ZSet里
|
|
|
// 1) 第一部分是最常见的情况,包括有结果、根据SKN搜索、关键词未出现在空结果Redis ZSet里
|
|
|
if (containsProductInSearchResult(searchResult)) {
|
|
|
// 1.1) 搜索有结果的 优先从搜索结果聚合出品牌等关键词进行查询
|
|
|
JSONObject dataMap = ((JSONObject) searchResult.getData());
|
...
|
...
|
@@ -103,7 +103,7 @@ public class SearchRecommendServiceImpl implements ISearchRecommendService { |
|
|
String aggKeywords = aggKeywordsByProductList(productList);
|
|
|
keywordsToSearch = keywordsToSearch + " " + aggKeywords;
|
|
|
} else if (isQuerySkn(queryWord)) {
|
|
|
// 1.2) 如果是查询SKN 没有查询到的 后续的逻也无法推荐 所以直接到ES里去获取关键词
|
|
|
// 1.2) 如果是查询SKN 没有查询到的 后续的逻辑也无法推荐 所以直接到ES里去获取关键词
|
|
|
keywordsToSearch = aggKeywordsBySkns(queryWord);
|
|
|
if (StringUtils.isEmpty(keywordsToSearch)) {
|
|
|
return defaultSuggestRecommendation();
|
...
|
...
|
@@ -131,7 +131,7 @@ public class SearchRecommendServiceImpl implements ISearchRecommendService { |
|
|
// 2.2) 执行拼写检查 由于在搜索建议的时候会进行拼写检查 所以缓存命中率高
|
|
|
keywordsToSearch = spellingCorrentWord;
|
|
|
} else {
|
|
|
// 2.3) 如果两者都没有 则还是使用返回
|
|
|
// 2.3) 如果两者都没有 则直接返回
|
|
|
return defaultSuggestRecommendation();
|
|
|
}
|
|
|
|
...
|
...
|
|