我一直在尝试使用MoreLikeThis包来返回一组文档,这些文档是根据与关键文档相比,在名为“backyardigans”的字段中匹配的数量进行排序的。这一切都和预期的一样。
但我想做的是按3个独立字段相加的匹配数排序。
示例记录如下:
var data = new Data{
backyardigans = "Pablo Tasha Uniqua Tyrone Austin",
engines = "Thomas Percy Henry Toby",
pigs = "Daddy Peppa George Mummy Granny"
}; 如果另一个文档匹配1个backyardigan 2个引擎和1个猪,它将得到4分
如果另一个文档匹配2个backyardigans 4个引擎和0个猪,那么它会得到6分
这些聚合分数将是我们对结果进行排序的字段,因此它们将返回6,4,等等。
有没有办法通过MoreLikeThis捆绑包来实现这一点?
发布于 2012-03-22 18:32:39
这是不可能的,我们只使用一个字段频率。
这很重要,因为我们需要在字段的基础上比较分数,如果不考虑每个字段的值,就不可能在全局的基础上进行比较。
请注意,这也是底层Lucene实现中的一个限制,因此我们对此无能为力。
https://stackoverflow.com/questions/9812423
复制相似问题