c# – 使用Lucene.net分页

我正在使用 Asp.net 3.5和Lucene.Net的.Net应用程序.我在asp.net数据网格中显示Lucene.Net提供的搜索结果.我需要为这个aspx页面实现分页(每页10个记录).

如何使用Lucene.Net完成这项工作?

解决方法

这是一种构建一个与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

基本上,Hits集合非常轻巧.获得此列表的成本是最小的.您只需通过调用hits.Doc(i)实例化所需的文档来构建您的页面.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...