...
|
...
|
@@ -4,11 +4,13 @@ import com.yoho.core.config.ConfigReader; |
|
|
import com.yoho.search.aop.downgrade.PersionalRateLimit;
|
|
|
import com.yoho.search.aop.downgrade.PersionalRateLimitConfig;
|
|
|
import com.yoho.search.base.utils.ConvertUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
...
|
...
|
@@ -21,6 +23,27 @@ public class SearchDynamicConfigService { |
|
|
@Autowired
|
|
|
private ConfigReader configReader;
|
|
|
|
|
|
private List<String> ufoWholeFirstSearchKeyWords = new ArrayList<>();
|
|
|
private List<String> ufoPartFirstSearchKeyWords = new ArrayList<>();
|
|
|
|
|
|
@PostConstruct
|
|
|
void init(){
|
|
|
|
|
|
//完全匹配
|
|
|
ufoWholeFirstSearchKeyWords.addAll(Arrays.asList("喷"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("冠军"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("椰子","yeezy"));
|
|
|
|
|
|
//部分包含
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("nike","耐克"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("adidas","originals","三叶草","阿迪","阿迪达斯"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("ow","off-white"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("亚限","欧限","美限"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("太极","飞马","倒勾","湖人","黑粉"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("aj", "air","max","force","pg","m2k","gs","supreme","af1"));
|
|
|
ufoPartFirstSearchKeyWords.addAll(Arrays.asList("90","95","97","98","720","350", "500", "700"));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 是否开启个性化
|
|
|
*/
|
...
|
...
|
@@ -203,8 +226,20 @@ public class SearchDynamicConfigService { |
|
|
/**
|
|
|
* ufo商品在前面的特殊搜索词
|
|
|
*/
|
|
|
public List<String> ufoFirstSearchKeyWords() {
|
|
|
return Arrays.asList("aj", "ow", "冠军", "椰子", "yeezy", "350", "500", "700", "af1", "supreme", "m2k");
|
|
|
public boolean ufoProductFirstBySearchKeyWord(String query) {
|
|
|
if(StringUtils.isBlank(query)){
|
|
|
return false;
|
|
|
}
|
|
|
String queryLowerCase = query.toLowerCase();
|
|
|
if(this.ufoWholeFirstSearchKeyWords.contains(queryLowerCase)){
|
|
|
return true;
|
|
|
}
|
|
|
for(String ufoPartFirstSearchKeyWord:this.ufoPartFirstSearchKeyWords){
|
|
|
if(queryLowerCase.contains(ufoPartFirstSearchKeyWord)){
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
/**
|
...
|
...
|
|