评分上下文

编辑

函数评分 中使用 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"
        }
      }
    }
  }
}