相似度上下文
编辑相似度上下文
编辑使用 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
,只读) - 当前词项在当前文档中针对当前字段的出现次数。
请注意,query
、field
和 term
变量也可用于权重上下文。在权重上下文中更有效率地使用它们,因为它们对于所有文档都是常量。
对于包含多个词项的查询,该脚本会对每个词项调用一次,并使用该词项计算出的权重,然后将结果相加。 请注意,某些词项在文档上可能具有 doc.freq
值为 0
的情况,例如,如果查询使用同义词。
返回
-
double
- 当前文档的相似度得分。
API
标准 Painless API 可用。