func getFeatureAggregationQuery()

in mapper/ad/ad.go [30:54]


func getFeatureAggregationQuery(name string, agg string, field string) ([]byte, error) {

	userTypeToESType := make(map[string]string)
	userTypeToESType["average"] = "avg"
	userTypeToESType["count"] = "value_count"
	userTypeToESType["sum"] = "sum"
	userTypeToESType["min"] = "min"
	userTypeToESType["max"] = "max"
	val, ok := userTypeToESType[strings.ToLower(agg)]
	if !ok {
		var allowedTypes []string
		for key := range userTypeToESType {
			allowedTypes = append(allowedTypes, key)
		}
		return nil, fmt.Errorf("invalid aggeration type: '%s', only allowed types are: %s ", agg, strings.Join(allowedTypes, ","))
	}
	agg = val
	return []byte(fmt.Sprintf(`{
        			"%s": {
          				"%s": {
            				"field": "%s"
						}
        			}
      			}`, name, agg, field)), nil
}