ElasticSearch 中的分数聚合结果

Score aggregation results in ElasticSearch

提问人:Yam Bakshi 提问时间:3/7/2017 最后编辑:bfontaineYam Bakshi 更新时间:12/26/2018 访问量:764

问:

我创建了一个由嵌套字段组成的类型。testprices

每个单据可以包含多个价格,每个价格由以下部分组成:pricedate

...
"prices":[{  
      "date" : "2017-02-08T16:04:20.424Z",
      "price" : 120
   },
   {  
      "date" : "2017-02-08T17:35:01.424Z",
      "price" : 70
   }]
...

我正在尝试创建一个搜索查询,该查询将首先将每个文档的价格聚合到最小值,然后使用线性衰减函数对聚合返回的所有最小值进行评分price

我目前对所有文档都有一个聚合查询:

{
    "query": {
        "match_all": {}
    },
    "aggs" : {
        "prices" : {
            "nested" : {
                "path" : "prices"
            },
            "aggs" : {
                "min_price" : { "min" : { "field" : "prices.price" } }
            }
        }
    }
}

这将返回 中的最低价格。test

以及一个线性衰减函数,用于对所有未聚合的文档的嵌套进行评分:prices

{
  "query": {
    "nested": {
        "path": "prices",
        "query": {
            "function_score": {
              "functions": [
                {
                  "linear": {
                    "prices.price": { 
                      "origin": "50", 
                      "offset": "50",
                      "scale":  "20"
                    }
                  }
                }
              ]
            }
        }
    }
  }
}

这将为每个文档返回一个分数。 问题是,我不知道它根据嵌套字段中的内容计算分数。priceprices

有什么想法吗?

Elasticsearch 聚合函数

评论


答: 暂无答案