【问题标题】:Elasticsearch find minimum price based on filterElasticsearch 根据过滤器找到最低价格
【发布时间】:2017-06-09 01:02:08
【问题描述】:

我想根据 city_id 和 model_id 等过滤器从 elasticsearch 获取最低价格。那么是否可以不制作价格嵌套文档呢。

我正在尝试此查询,但无法正常工作,请帮忙。

POST /myindex/mytype
{
  "aggs": {
    "min_price": {
      "min": {
        "field": "price"
      }
    }
  }
}

【问题讨论】:

  • 您需要删除"aggs" 的一次出现,它会起作用。
  • @val 我已删除 aggs 但无法正常工作。
  • 请更新您的问题并定义“不工作”
  • @Val min price is possible without making the nested document.
  • 我不明白在这种情况下嵌套文档是什么意思。请展示一些在您的索引中的示例文档。

标签: php elasticsearch aggregation


【解决方案1】:

如果我理解正确,您想要基于过滤器的最低价格文档,如果是这样,您的查询应该是这样的:

POST /myindex/mytype/_search
{
  "sort": {
    "price": "asc"
  },
  "size": 1,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
              "city_id": "123"

          }
        }
      ]
    }
  }
}

【讨论】:

  • 但是我们如何在这个查询中找到最低价格。
  • curl -XGET "localhost:9200/myindex/_search?pretty=1" -d' { "size": 0, "query": { "bool": { "must": [ { "term": { "city_id" : "123" } } ] } } "aggregations": { "minimum_price": { "min": { "field": "price" } } } }' 这对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多