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