即使在傳遞分類字段之後,文檔分數也會影響搜索結果的排序順序。有沒有辦法讓lucene在特定的排序字段被傳遞時忽略文檔分數?影響結果排序順序的文檔分數,Lucene
對於前:
DocId Score SortFieldA SortFieldB
1 23.0041 200906030800 Test
2 32.2774 200906020800 Test
3 21.0632 200906030800 Apple
我想要的結果通過SortFieldA,然後再進行排序由SortFieldB。因此,在上述情況下,結果應以doc2,doc3和doc1的形式返回。但由於得分,排序順序受到干擾。
我注意到,如果文檔具有相同的分數,結果會得到正確排序。
public override Sort GetSort()
{
List<SortField> sortFields = new List<SortField>();
sortFields.Add(new SortField(StartDateTime.ToString(), SortField.STRING, ReverseSort));
sortFields.Add(new SortField(TitleSort.ToString(), SortField.STRING, ReverseSort));
return new Sort(sortFields.ToArray());
}
你能發表一些代碼嗎? – bajafresh4life 2010-02-25 14:19:57
我用一個例子更新了這篇文章。謝謝。 – 2010-02-25 14:32:38
嘗試選擇您的代碼並使用編輯框上方的代碼按鈕更好地設置代碼格式。或者,您可以在每行代碼前放四個空格。 – 2010-02-27 00:59:21