相似度上下文

编辑

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

变量

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

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

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

返回

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

API

标准 Painless API 可用。