相似度上下文

编辑

使用 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可用。