1

我一直在尝试使用 MoreLikeThis Bundle 来带回一组文档,这些文档按与关键文档相比的“backyardigans”字段中的匹配数排序。这一切都按预期工作。

但我想做的是按加在一起的 3 个单独字段的匹配数排序。

一个示例记录是:

var data = new Data{ 
     backyardigans = "Pablo Tasha Uniqua Tyrone Austin",
     engines = "Thomas Percy Henry Toby",
     pigs = "Daddy Peppa George Mummy Granny"
}; 

如果另一个文件匹配 1 个后院 2 个引擎和 1 头猪,它会得到 4 分

如果另一个文件匹配 2 个后院 4 个引擎和 0 头猪,它会得到 6 分

这些汇总的分数将是我们对结果进行排序的字段,因此它们会返回 6,4,依此类推。

请问有没有办法通过 MoreLikeThis 捆绑包实现这一点?

4

1 回答 1

1

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

这很重要,因为我们需要在字段的基础上比较分数,如果不考虑每个字段的值,就不可能在全局基础上进行比较。

请注意,这也是底层 Lucene 实现的一个限制,因此我们无能为力。

于 2012-03-22T10:32:38.760 回答