2012-03-21 110 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實現的一個限制,所以我們可以做的不多。