lucene 3.0 分页如何实现 以及近实时搜索

	
	IndexWriter writer = new IndexWriter(Dir, new StandardAnalyzer(Version.LUCENE_30), IndexWriter.MaxFieldLength.UNLIMITED)
	// 添加文档
	//...
	
	IndexReader reader  = writer.getReader(); 				//1.创建近实时reader
	
	IndexSearcher searcher = new IndexSearcher(reader);		//2. 将reader封装到IndexIndexSearcher中
	// 添加文档和删除文档
	//....
	IndexReader newReader = reader.reopen(); 				//3. 重新启动reader
	
	reader.close();											//4. 关闭旧的reader
	
	searcher = new IndexSearcher(newReader);
	
	//重新检索
	//...
	
	newReader.close(); 										//	5.关闭	newReader	writer	searcher
	
	writer.close();
	
	searcher.close();

 1:分页一:将首次搜索多页结果收集起来并保存在ScoreDocs和IndexSearcher实例中。并在换页时展示结果。

2:分页二 :每次用户换页浏览时都是重新进行查询。

 

个人建议重新查询是最好的解决方法。

 

lucene 3.0  近实时搜索:

从2.9开始就有近实时搜索,如果IndexWriter实例和负责搜索的程序在同一个JVM 中,我们就可以使用近实时搜索,近实时搜索功能使你能够对新创建的,但还么有提交的段进行搜索。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值