...
|
...
|
@@ -60,13 +60,9 @@ public class UfoSearchQueryHelper extends BaseService { |
|
|
|
|
|
public BoolQueryBuilder constructFilterBuilder(Map<String, String> paramMap) throws Exception {
|
|
|
BoolQueryBuilder boolFilter = QueryBuilders.boolQuery();
|
|
|
//推荐列表中去掉自身
|
|
|
String not_id = paramMap.get(SearchRequestParams.UFOPRODUCTINDEX_PARAM_NOT_ID);
|
|
|
if (StringUtils.isNotBlank(not_id)) {
|
|
|
boolFilter.mustNot(QueryBuilders.termQuery(UfoProductIndexEsField.id, not_id));
|
|
|
}
|
|
|
//参数过滤
|
|
|
this.addMustIntTermsQuery(boolFilter, paramMap, SearchRequestParams.UFOPRODUCTINDEX_PARAM_ID, UfoProductIndexEsField.id);
|
|
|
this.addMustNotIntTermsQuery(boolFilter, paramMap, SearchRequestParams.UFOPRODUCTINDEX_PARAM_NOT_ID, UfoProductIndexEsField.id);
|
|
|
this.addMustIntTermsQuery(boolFilter, paramMap, SearchRequestParams.UFOPRODUCTINDEX_PARAM_MAXSORT, UfoProductIndexEsField.maxSortId);
|
|
|
this.addMustIntTermsQuery(boolFilter, paramMap, SearchRequestParams.UFOPRODUCTINDEX_PARAM_MIDSORT, UfoProductIndexEsField.midSortId);
|
|
|
this.addMustIntTermsQuery(boolFilter, paramMap, SearchRequestParams.UFOPRODUCTINDEX_PARAM_GENDER, UfoProductIndexEsField.gender);
|
...
|
...
|
@@ -102,6 +98,14 @@ public class UfoSearchQueryHelper extends BaseService { |
|
|
boolFilter.must(QueryBuilders.termsQuery(esField, values));
|
|
|
}
|
|
|
|
|
|
public void addMustNotIntTermsQuery(BoolQueryBuilder boolFilter, Map<String, String> paramMap, String paramName, String esField) {
|
|
|
List<Integer> values = ConvertUtils.stringToIntList(paramMap.get(paramName), ",");
|
|
|
if (values == null || values.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
|
boolFilter.mustNot(QueryBuilders.termsQuery(esField, values));
|
|
|
}
|
|
|
|
|
|
|
|
|
public QueryBuilder constructQueryBuilder(Map<String, String> paramMap) {
|
|
|
// 0、处理查询关键字
|
...
|
...
|
|