我正在使用Elasticsearch 2.3。 我们知道ES使用TF / IDF算法和其他计算为每个文档提供分数。可能在1-100之间。
现在,假设我对每个文档都有一个额外的分数,一个自定义的计算分数,范围可以从1到1000。
我想使用这个新的自定义分数对文档进行排名,但是由于ES分数不确定,即范围可以从1到100(给定单词匹配数,字段等),因此将新的自定义分数归一化并添加到ES得分不起作用。 (以下示例)
是否有使用其他自定义分数但不忽略ES分数的解决方案?
样本数据
注意:这里我只是将自定义分数添加到ES分数中,结果出乎意料。
ES查询:anotepad.com/notes/e7t5yh
ES结果:anotepad.com/notes/5h6dtk
在结果中您会看到,即使我搜索“ 32 GB iphone”,由于64 GB的自定义分数比32 GB的自定义分数高得多,因此我还是获得了“ Apple iphone 64 GB”。