【发布时间】:2016-01-23 08:44:23
【问题描述】:
我正在尝试修改来自 imotov Github 的余弦相似度脚本。在他的脚本中,他的 docWeightSum 只获取查询中术语的术语频率 (tf),而不是文档本身中的所有术语。
以下面这个例子为例。 docWeightSum 为 9(“I”为 4,“am”为 4,“Sam”为 1)。我希望 docWeightSum 为 10(为“ham”加 1),因为我想通过两个向量的大小对点积进行归一化。
doc:“我是我是火腿山姆”
查询:“我是山姆”
所以我实际上有 2 个问题,因为我像这样将文档索引到 Elasticsearch 中:
POST /termscore/doc
{
"text": "I am am I ham",
"docWeightSum": 9
}
- 是否有现有的 API 来获取每个索引文档的所有 tf 的平方和,或者获取文档中不在查询中的术语的 tf?如果不是,那我该如何计算这个平方和?
- 如果我预先计算每个文档的 tf 的平方和,并与文档内容一起放入 Elasticsearch,如上例所示,那么在计算分数时,如何访问“docWeightSum”值?
我使用的是 Elasticsearch 1.7
谢谢,
【问题讨论】:
标签: java elasticsearch elasticsearch-plugin