使用Lucene进行全文检索(三)---进行搜索

<< 九、处理Cookie | 也谈Java并发程序设计的现状和前景 >>
  发布日期:10/01/2008 03:14:53 发布者:[快乐开发网]  来源:[本站]  浏览:[]  评论:[]
字体:    

关键字:lucene,html parser,全文检索,IndexReader,Document,Field,IndexWriter,Term,HTMLPAGE


无论是建立索引还是分析内容,都是为了用户的搜索服务.

在Lucene中,如果需要使用搜索,需要使用Searcher类,这是一个抽象类,它有2个子类:IndexSearcher和MultiSearcher.

IndexSearcher是对一个索引进行搜索,如果你需要对多个索引进行搜索,可以使用MultiSearcher.下面的内容只介绍了IndexSearcher.

搜索涉及到几个问题:分页,组合条件,根据条件过滤,排序等等.

分页:分页在记录列表的地方都会遇到,这里不在赘述,我也实现过一个保存分页结果和显示结果的类,用于自己的实际工作,下面也会用到保存分页结果的类,代码如下:

package com.jscud.support;


/**
* 分页显示用的参数.
*
* @author scud(飞云小侠) http://www.jscud.com
*
*/

public class DivPageInfo
{

//开始记录数
private int recStart;

//结束记录数
private int recEnd;

//总页数
private int pageCount;

//当前页
private int page;

//记录总数
private int recCount;

//每页记录数
private int perPageRows;

public int getNicePageCount()
{
return getNicePageNum(pageCount);
}

//get,set等,不在列出
//......


/**
* 得到友好的页数数字,页数为0时,返回1.
*
* @return 得到友好的页数
*/
public static int getNicePageNum(int nPage)
{
if (nPage == 0)
{
return 1;
}
else
{
return nPage;
}
}
}


无论是建立索引还是分析内容,都是为了用户的搜索服务.

在Lucene中,如果需要使用搜索,需要使用Searcher类,这是一个抽象类,它有2个子类:IndexSearcher和MultiSearcher.

IndexSearcher是对一个索引进行搜索,如果你需要对多个索引进行搜索,可以使用MultiSearcher.下面的内容只介绍了IndexSearcher.

搜索涉及到几个问题:分页,组合条件,根据条件过滤,排序等等.

分页:分页在记录列表的地方都会遇到,这里不在赘述,我也实现过一个保存分页结果和显示结果的类,用于自己的实际工作,下面也会用到保存分页结果的类,代码如下:

package com.jscud.support;


/**
* 分页显示用的参数.
*
* @author scud(飞云小侠) http://www.jscud.com
*
*/

public class DivPageInfo
{

//开始记录数
private int recStart;

//结束记录数
private int recEnd;

//总页数
private int pageCount;

//当前页
private int page;

//记录总数
private int recCount;

//每页记录数
private int perPageRows;

public int getNicePageCount()
{
return getNicePageNum(pageCount);
}

//get,set等,不在列出
//......


/**
* 得到友好的页数数字,页数为0时,返回1.
*
* @return 得到友好的页数
*/
public static int getNicePageNum(int nPage)
{
if (nPage == 0)
{
return 1;
}
else
{
return nPage;
}
}
}

打印 】【 收藏 】【 推荐 】 
正在读取…

  笔名:

  评论:

   

【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款