                                                (clojure.string/replace #"doc\['([^']+)'\]\.value" "$1")
                                                (clojure.string/replace #"([a-z])-([a-z])"         "$1_$2")))))
               
-              gen-col-name (fn [field name interval] (format "%s_%s_%s" field name interval))
+              gen-col-name (fn [name] (format "%s_%s_%s" field name (:interval agg-data)))
               
               this-agg  
               (if (group-by? agg-type)

                   _         (u/my-println "Finished " [filter-name aggregation-name n-parallel] " in " took " ms, avg " avg " ms")
                   
                   p-took    (->> results (map #(-> % :took (* 0.001) Math/round (* 0.001))) percentiles)
                   p-hits    (->> results (map :hits) percentiles)]
               {:n-parallel    n-parallel
                :filter        filter-name
                :aggs          aggregation-name

                   :histogram
                   (let [interval (-> agg-data :interval float)]
                     [{:agg (format "FLOOR(%s / %.1f)" field interval)
                       :col (gen-col-name "hist")}])
                   
                   :date_histogram
                   (let [_            (assert (= \d (-> agg-data :interval last)) "Only days are supported for now")
                         to-float     (fn [^String s] (Float. s))
                         interval     (->> agg-data :interval butlast (apply str) to-float)
                         interval-div (if (= 1.0 interval) "" (format " / %.1f" interval))]
                     [{:agg (format "FLOOR(CAST(CAST(%s AS datetime) AS float)%s)" field interval-div)
                       :col (gen-col-name "datehist")}]))}
                
                {:metrics
                 (cond
