in aliyun-sdk-opensearch/src/main/java/com/aliyun/opensearch/search/SearchParamsBuilder.java [206:227]
public SearchParamsBuilder addDistinct(String key, int distCount, int distTimes, boolean reserved,
String distFilter, boolean updateTotalHit, double grade) {
Preconditions.checkNotNull(key, "key should not be null.");
Map<String, Distinct> distincts = Maps.newLinkedHashMap();
if (this.searchParams.isSetDistincts()) {
Set<Distinct> distinctsSet = this.searchParams.getDistincts();
for (Distinct distinct : distinctsSet) {
distincts.put(distinct.getKey(), distinct);
}
Preconditions.checkArgument(!distincts.containsKey(key), "the Distinct is already added. key: " + key);
}
Distinct distinct = new Distinct(key);
distinct.setDistCount(distCount);
distinct.setDistTimes(distTimes);
distinct.setReserved(reserved);
distinct.setDistFilter(distFilter);
distinct.setUpdateTotalHit(updateTotalHit);
distinct.setGrade(Double.toString(grade));
distincts.put(key, distinct);
this.searchParams.setDistincts(Sets.newLinkedHashSet(distincts.values()));
return this;
}