|
|
package com.yoho.search.service.recall.strategy.impls;
|
|
|
|
|
|
import com.yoho.search.cache.CacheTimeConstants;
|
|
|
import com.yoho.search.service.recall.helper.ExtendFilterHelper;
|
|
|
import com.yoho.search.service.recall.helper.SortBuilderHelper;
|
|
|
import com.yoho.search.service.recall.strategy.IStrategy;
|
|
|
import com.yoho.search.service.recall.strategy.StrategyEnum;
|
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
|
import org.elasticsearch.search.sort.SortBuilder;
|
|
|
|
|
|
public class CommonNewProductStrategy implements IStrategy {
|
|
|
|
|
|
private int size;
|
|
|
|
|
|
public CommonNewProductStrategy(int size) {
|
|
|
this.size = size;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public StrategyEnum strategtEnum() {
|
|
|
return StrategyEnum.NEW_PRODUCT;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public QueryBuilder extendFilter() {
|
|
|
return ExtendFilterHelper.newProductFilter();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public SortBuilder<?> sortBuilder() {
|
|
|
return SortBuilderHelper.getRandomSort();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int size() {
|
|
|
return size;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int cacheTimeInMinute() {
|
|
|
return CacheTimeConstants.COMMON_RECALL_STRATEGY_CACHE_TIME;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String strategyCacheKey() {
|
|
|
StringBuilder sb = defaultStrategyKey();
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|