use*_*907 10 .net c# lucene.net
我正在开发一个使用Asp.net 3.5和Lucene.Net的.Net应用程序.我在一个asp.net数据网格中显示Lucene.Net给出的搜索结果.我需要为这个aspx页面实现Paging(每页10条记录).
如何使用Lucene.Net完成此操作?
Dav*_*ult 23
这是一种构建与Lucene.Net匹配特定页面的简单列表的方法.这不是ASP.Net特有的.
int first = 0, last = 9; // TODO: Set first and last to correct values according to page number and size
Searcher searcher = new IndexSearcher(YourIndexFolder);
Query query = BuildQuery(); // TODO: Implement BuildQuery
Hits hits = searcher.Search(query);
List<Document> results = new List<Document>();
for (int i = first; i <= last && i < hits.Length(); i++)
results.Add(hits.Doc(i));
// results now contains a page of documents matching the query
Run Code Online (Sandbox Code Playgroud)
基本上Hits系列非常轻巧.获取此列表的成本很低.您只需通过调用hits.Doc(i)来构建页面来实例化所需的文档.