即使在通过分类字段后,文档的分数也会影响搜索结果的排序顺序。有没有办法让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());
}