我正在使用以下代码在Lucene.Net中执行查询
var collector = new GroupingHitCollector(searcher.GetIndexReader());
searcher.Search(myQuery, collector);
resultsCount = collector.Hits.Count;
Run Code Online (Sandbox Code Playgroud)
如何根据字段对这些搜索结果进行排序?
谢谢你的回答.我曾尝试过使用TopFieldDocCollector但是"value is too small or too large"当我5000作为numHits参数值传递时,我得到了一个错误说法.请建议通过有效值.
Jam*_*ady 25
该search.Searcher.search方法将接受一个search.Sort参数,该参数可以简单地构造为:
new Sort("my_sort_field")
Run Code Online (Sandbox Code Playgroud)
但是,对哪些字段可以进行排序存在一些限制 - 它们需要被索引但不能被标记化,并且值可以转换为Strings,Floats或Integers.
Lucene in Action涵盖了所有细节,以及按多个字段排序等.