【发布时间】:2015-09-20 23:57:33
【问题描述】:
我正在使用“script_fields”生成自定义字段。我想使用该字段为文档生成分数。如何在弹性搜索中实现这一点。如果有人可以发布示例查询,那就太好了。
【问题讨论】:
标签: elasticsearch
我正在使用“script_fields”生成自定义字段。我想使用该字段为文档生成分数。如何在弹性搜索中实现这一点。如果有人可以发布示例查询,那就太好了。
【问题讨论】:
标签: elasticsearch
这实际上是不可能的,因为在计算文档的分数时,尚未计算脚本字段值。搜索请求通常分两个阶段执行:query 和 fetch。在 查询 阶段计算分数并选择最热门的文档进行检索。然后在 fetch 阶段使用顶部文档的列表来检索文档。在此检索过程中,将计算脚本字段。
换句话说,为了使用脚本对文档进行评分,您需要在 query 阶段使用此脚本,例如将其放入function_score 查询中,例如
【讨论】: