...
|
...
|
@@ -8,8 +8,6 @@ import org.apache.lucene.search.join.ScoreMode; |
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
|
import org.elasticsearch.script.Script;
|
|
|
import org.elasticsearch.search.sort.ScriptSortBuilder.ScriptSortType;
|
|
|
import org.elasticsearch.search.sort.SortBuilder;
|
|
|
import org.elasticsearch.search.sort.SortBuilders;
|
|
|
import org.elasticsearch.search.sort.SortOrder;
|
...
|
...
|
@@ -56,7 +54,7 @@ public class NewPromotionStrategy implements IRecallStrategy { |
|
|
public QueryBuilder filter() {
|
|
|
BoolQueryBuilder filter = QueryBuilders.boolQuery();
|
|
|
filter.mustNot(QueryBuilders.termQuery(ProductIndexEsField.flowType, "2"));
|
|
|
filter.mustNot(QueryBuilders.termsQuery(ProductIndexEsField.isnew,"Y"));
|
|
|
filter.mustNot(QueryBuilders.termsQuery(ProductIndexEsField.isnew, "Y"));
|
|
|
filter.must(QueryBuilders.nestedQuery(ProductIndexEsField.matchedPromotions, this.nestedFilter, ScoreMode.None));
|
|
|
if (brandIds != null && !brandIds.isEmpty()) {
|
|
|
filter.must(QueryBuilders.termsQuery(ProductIndexEsField.brandId, brandIds));
|
...
|
...
|
@@ -66,11 +64,7 @@ public class NewPromotionStrategy implements IRecallStrategy { |
|
|
|
|
|
@Override
|
|
|
public SortBuilder<?> firstSortBuilder() {
|
|
|
// FieldSortBuilder activitySort =
|
|
|
// SortBuilders.fieldSort("matchedPromotions.startTime").order(SortOrder.DESC).setNestedPath("matchedPromotions").missing("_last");
|
|
|
// activitySort.setNestedFilter(this.nestedFilter);
|
|
|
// return activitySort;
|
|
|
return SortBuilders.scriptSort(new Script("Math.random()"), ScriptSortType.NUMBER).order(SortOrder.ASC);
|
|
|
return SortBuilders.fieldSort(ProductIndexEsField.heatValue).order(SortOrder.DESC);
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|