2012-03-21 56 views
1

我一直在尝试使用MoreLikeThis Bundle来取回一组文档,这些文档按照与关键文档相比称为'backyardigans'的字段中的匹配数量排序。这一切都按预期工作。Aggregating MoreLikeThis Results in RavenDB

但我想要做的是按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分0

这些汇总的分数将是我们将命令结果的字段,所以他们会回来6,4等等。

有没有办法用MoreLikeThis捆绑来实现这一点?

回答

1

这是不可能的,我们只为此使用一个场频率。

这很重要,因为我们需要在场地基础上比较分数,并且在全球范围内比较它并不考虑每个字段的值。

请注意,这也是底层Lucene实现的一个限制,所以我们可以做的不多。