相似度上下文编辑

使用 Painless 脚本来创建 相似度 等式,用于对查询中的文档进行评分。

变量

weight (float,只读)
权重脚本 计算出的权重
query.boost (float,只读)
如果查询提供了提升值,则为提升值。如果未提供,则值为 1.0f
field.docCount (long,只读)
具有当前字段值的文档数。
field.sumDocFreq (long,只读)
当前字段中存在的所有词项的总和。如果不可用,则值为 -1
field.sumTotalTermFreq (long,只读)
索引中当前字段中存在的所有词项的出现次数总和。如果不可用,则值为 -1
term.docFreq (long,只读)
索引中包含当前词项的文档数。
term.totalTermFreq (long,只读)
当前词项在索引中的总出现次数。
doc.length (long,只读)
当前文档在当前字段中的标记数。这是从存储的 标准 解码的,对于长字段可能是近似值
doc.freq (long,只读)
当前词项在当前文档的当前字段中的出现次数。

请注意,queryfieldterm 变量也可用于 权重上下文。它们在那里使用效率更高,因为它们对所有文档都是常量。

对于包含多个词项的查询,将为每个词项调用一次脚本,并使用该词项的计算权重,并将结果求和。请注意,某些词项在文档上的 doc.freq 值可能为 0,例如,如果查询使用同义词。

返回值

double
当前文档的相似度得分。

API

可以使用标准的 Painless API