public SignificantTermsAggregatorFactory(
      String name,
      ValuesSourceConfig valueSourceConfig,
      TermsAggregator.BucketCountThresholds bucketCountThresholds,
      IncludeExclude includeExclude,
      String executionHint,
      Query filter,
      SignificanceHeuristic significanceHeuristic) {

    super(name, SignificantStringTerms.TYPE.name(), valueSourceConfig);
    this.bucketCountThresholds = bucketCountThresholds;
    this.includeExclude = includeExclude;
    this.executionHint = executionHint;
    this.significanceHeuristic = significanceHeuristic;
    if (!valueSourceConfig.unmapped()) {
      this.indexedFieldName = config.fieldContext().field();
      fieldType = SearchContext.current().smartNameFieldType(indexedFieldName);
    }
    this.filter = filter;
  }
 @Override
 public String type() {
   return SignificantStringTerms.TYPE.name();
 }