这个 elasticsearch 查询是什么意思?

What does this elasticsearch query mean?

我想找到从过去 6 个月到现在最好的 movie/webseries,它应该也有很好的评价。

POST sample-movie-2022.02.08/_search
{
  "query": {
    "function_score": {
      "functions": [
        {
          "gauss": {
            "rating": {
              "origin": "10",
              "scale": "1"
            }
          }
        },
        {
          "gauss": {
            "release_date": {
              "origin": "now",
              "scale": "180d"
            }
          }
        }
      ]
    }
  }
}

当我将 rating 比例更改为 1,7 时,查询给出了不同的分数,8.I 实际上不知道这在评分中意味着什么,但我了解 [=12] 中的起源和比例=]

您正在使用 decay functions(即高斯),该函数的参数表示:

  • origin:计算“距离”的原点
  • offset(在您的情况下默认为 0):意味着衰减从原点开始(即在您的情况下为 origin ± offset = origin
  • scale:函数取值 decay 的点(即 origin ± offset ± scale
  • decay(根据您的情况默认为​​ 0.5):scale 点的分数(即 origin ± offset ± scale
  • 处的分数

因此,具体来说,在您的情况下,这意味着:

  • 评分为 10 的文档将获得 1 分
  • 评分为 9 或 11(等级 = 10 ± 1)的文档得分为 0.5
  • 评分 <9 或 >11 的文档得分低于 0.5

因此,偏移量和比例参数允许您定义得分的拐点 decay