...
|
...
|
@@ -7,6 +7,7 @@ import com.yoho.search.models.FirstShelveTimeScore; |
|
|
import com.yoho.search.service.helper.SearchCommonHelper;
|
|
|
import com.yoho.search.service.scorer.impl.*;
|
|
|
import com.yoho.search.service.scorer.personal.PersonalGenderFeatureSearch;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
...
|
...
|
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
...
|
...
|
@@ -45,9 +47,11 @@ public class SearchScorerFactory { |
|
|
if (!searchCommonHelper.isFuzzySearchPageDefault(paramMap)) {
|
|
|
return new UfoProductScorer(0.5f);
|
|
|
}
|
|
|
String query = paramMap.get(SearchRequestParams.PARAM_SEARCH_QUERY);
|
|
|
if (dynamicConfig.ufoFirstSearchKeyWords().contains(query)) {
|
|
|
return new UfoProductScorer(2f);
|
|
|
String query = MapUtils.getString(paramMap,SearchRequestParams.PARAM_SEARCH_QUERY,"").toLowerCase();
|
|
|
for(String ufoFirstSearchKeyWord : dynamicConfig.ufoFirstSearchKeyWords()){
|
|
|
if(query.contains(ufoFirstSearchKeyWord)){
|
|
|
return new UfoProductScorer(20f);
|
|
|
}
|
|
|
}
|
|
|
return new UfoProductScorer(0.5f);
|
|
|
}
|
...
|
...
|
@@ -129,4 +133,24 @@ public class SearchScorerFactory { |
|
|
public IScorer getSpecialShopScorer(List<Integer> shopIds, float weight) {
|
|
|
return new SpecialShopScorer(shopIds, weight);
|
|
|
}
|
|
|
|
|
|
// public static void main(String[] args) {
|
|
|
// String query ="air Nike max".toLowerCase();
|
|
|
// List<String> ufoFirstSearchKeyWords = new ArrayList<>();
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("nike","耐克"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("adidas","originals","三叶草","阿迪","阿迪达斯"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("ow","off-white"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("亚限","欧限","美限"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("太极","喷","空军","飞马","倒勾","湖人","黑粉"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("椰子","yeezy"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("aj", "air","max","force","pg","m2k","gs","supreme","af1"));
|
|
|
// ufoFirstSearchKeyWords.addAll(Arrays.asList("90","95","97","98","720","350", "500", "700"));
|
|
|
// for(String ufoFirstSearchKeyWord : ufoFirstSearchKeyWords){
|
|
|
// if(query.contains(ufoFirstSearchKeyWord)){
|
|
|
// System.out.println(true);
|
|
|
// return;
|
|
|
// }
|
|
|
// }
|
|
|
// System.out.println(false);
|
|
|
// }
|
|
|
} |
...
|
...
|
|