我正在使用elasticsearch使用“更像这样”的查询来查找给定文档的类似文档。
是否有一种简单的方法可以将弹性搜索得分在0和1之间(使用余弦相似度)?
谢谢!
答案 0 :(得分:1)
您可能需要查看Function Score functionality of Elasticsearch,更具体地说是script_score
和field_value_factor
函数。这样您就可以从默认评分(_score
)中获取分数,并以其他方式增强或替换它。这实际上取决于你想要什么样的提升或转型。默认评分模型还考虑了Vector model,但也考虑了其他事项。
答案 1 :(得分:0)
我认为不可能直接检索。
但也许这种解决方法有意义吗?
Elasticsearch始终会在max_score
文档中带回hits
。
您可以将文档_score
划分为max_score
。具有最高价值的报告将得分为1,与给定的报告不同的文档将得分较少。
答案 2 :(得分:0)
Elasticsearch使用布尔模型查找匹配文档,并使用称为实用评分函数的公式来计算相关性。该公式借用了术语频率/逆文档频率和向量空间模型的概念,但增加了更现代的特征,如协调因子,字段长度规范化和术语或查询子句提升。