我正在为lucene添加特殊枚举以用于相关搜索.我如何对具有特定枚举值的结果进行排序.
假设我添加了差劲适中的最佳,我需要在结果中获得最佳,然后我将如何在Lucene.net中做到这一点.
任何在Lucene.net上这样做的方法
Lucene确实拥有自己的Sort.查看命名空间Lucene.Net.Search.Sort.下面是我按DateOfMessage排序的示例.
Lucene.Net.Search.TopDocsCollector collector = Lucene.Net.Search.TopScoreDocCollector.create(InternalMaxSearchResults, false); // default is relevance
var sortBy = new Lucene.Net.Search.Sort(new Lucene.Net.Search.SortField(SearchIndex.IndexFields.DateOfMessage.ToString(), Lucene.Net.Search.SortField.LONG, true));
collector = Lucene.Net.Search.TopFieldCollector.create(
sortBy,
InternalMaxSearchResults, /* max 500 results */
false,
false,
false,
false);
break;
// search with the collector
searcher.Search(queryMain, collector);
Run Code Online (Sandbox Code Playgroud)