Authored by wangnan9279

fix

... ... @@ -140,6 +140,10 @@ public class AggregationFactory {
return new IsGlobalAggregation();
}
public IAggregation getIsUfoAggregation() {
return new IsUfoAggregation();
}
public IAggregation getZqNameAggregation(int aggCount) {
return new ZqNameAggregation(zqNameIndexBaseService, aggCount);
}
... ...
package com.yoho.search.service.aggregations.impls;
import com.yoho.search.base.utils.ProductIndexEsField;
import com.yoho.search.core.es.agg.AbstractAggregation;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation;
import java.util.Iterator;
import java.util.Map;
/**
* @author wangnan
* @version 2018/11/14
*/
public class IsUfoAggregation extends AbstractAggregation {
@Override
public String aggName() {
return "isUfoAgg";
}
@Override
public String filterName() {
return "is_ufo";
}
@Override
public AbstractAggregationBuilder<?> getBuilder() {
return AggregationBuilders.terms(aggName()).field(ProductIndexEsField.isUfo).size(5);
}
@Override
public Object getAggregationResponseMap(Map<String, Aggregation> aggMaps) {
MultiBucketsAggregation aggregation = this.getAggregation(aggMaps);
if (aggregation == null) {
return null;
}
Iterator<? extends MultiBucketsAggregation.Bucket> itAgg = aggregation.getBuckets().iterator();
while (itAgg.hasNext()) {
MultiBucketsAggregation.Bucket bucket = itAgg.next();
String bool = bucket.getKeyAsString();
if ("Y".equals(bool)) {
return 'Y';
}
}
return null;
}
}
... ...
... ... @@ -134,6 +134,8 @@ public class PageSelectionsService extends AbstractCacheComponent<JSONObject> {
aggregations.add(aggregationFactory.getSizeAggregation());
// 11)风格
aggregations.add(aggregationFactory.getStyleAggregation(paramMap));
// 12)UFO
aggregations.add(aggregationFactory.getIsUfoAggregation());
return aggregations;
}
... ...