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