微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)实例化所需的文档来构建您的页面.

原文地址:https://www.jb51.cc/csharp/94629.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐