如何使用 elasticsearch 创建动态价格范围过滤器

How to create a dynamic price range filter using elasticsearch

价格范围聚合

{
  "aggs": {
    "price_ranges": {
      "range": {
        "field": "price",
        "ranges": [
          {
            "to": 50
          },
          {
            "from": 50,
            "to": 100
          },
          {
            "from": 100
          }
        ]
      }
    },
    "price_stats": {
      "extended_stats": {
        "field": "price"
      }
    }
  }
}

有什么方法可以使范围动态化。例如,min_price 代替 50,max_price 代替 100。或者使用 "price_stats.max" 代替 max_price?

你可以得到这样的东西

"max_price" : { "max" : { "field" : "discountprice" } },
"min_price" : { "min" : { "field" : "discountprice" } } 

然后在应用层创建一个范围