评分上下文

编辑

函数评分 中使用 Painless 脚本,对查询返回的文档应用新的评分。

变量

params ( Map, 只读)
作为查询一部分传递的用户定义参数。
doc ( Map, 只读)
包含当前文档的字段。对于单值字段,可以通过 doc['fieldname'].value 访问值。对于多值字段,这将返回第一个值;其他值可以通过 doc['fieldname'].get(index) 访问。
_score ( double, 只读)
当前文档的相似度评分。

返回

double
当前文档的评分。

API

可以使用标准的 Painless API专用评分 API

示例

要运行此示例,请首先按照 上下文示例 中的步骤操作。

以下查询查找所有未售出的座位,其中较低的 row 值得分较高。

GET /seats/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "sold": "false"
        }
      },
      "script_score": {
        "script": {
          "source": "1.0 / doc['row'].value"
        }
      }
    }
  }
}