评分上下文编辑

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

变量

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

返回值

double
当前文档的评分。

API

标准 Painless API专用评分 API 均可用。

示例

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

以下查询查找所有未售出的座位, 值越低,评分越高。

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