anchor.diff:  bucket_key = Math.floor((value - offset) / interval) * interval + offset
   --------------------------------------------------
   
  -The `interval` must be a positive decimal, while the `offset` must be a decimal in `[0, interval[`.
  +The `interval` must be a positive decimal, while the `offset` must be a decimal in `[0, interval)`
  +(a decimal greater than or equal to `0` and less than `interval`)
   
   The following snippet "buckets" the products based on their `price` by interval of `50`:
   
  
positive.code: 
  ==== Minimum document count
  
  The response above show that no documents has a price that falls within the range of `[100 - 150)`. By default the
  response will fill gaps in the histogram with empty buckets. It is possible change that and request buckets with
  a higher minimum count thanks to the `min_doc_count` setting:
  
  
negative.code: ==== Offset
  
  By default the bucket keys start with 0 and then continue in even spaced steps of `interval`, e.g. if the interval is 10 the first buckets
  (assuming there is data inside them) will be `[0, 10)`, `[10, 20)`, `[20, 30)`. The bucket boundaries can be shifted by using the `offset` option.
  
  This can be best illustrated with an example. If there are 10 documents with values ranging from 5 to 14, using interval `10` will result in
  two buckets with 5 documents each. If an additional offset `5` is used, there will be only one single bucket `[5, 15)` containing all the 10
  documents.
  
  ==== Response Format
  