当前位置:  开发笔记 > 编程语言 > 正文

使用Lucene.net进行分页

如何解决《使用Lucene.net进行分页》经验,为你挑选了1个好方法。

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

如何使用Lucene.Net完成此操作?



1> David Thibau..:

这是一种构建与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 results = new List();
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)来构建页面来实例化所需的文档.


仅供参考这仍然有效,但整个Hits类已经过折旧,将在即将推出的3.0版本中删除.但是,替换不提供此处讨论的功能.因为我需要这个功能很糟糕(除了坚持使用2.x),因此不确定3.0版本何时发布.
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有