当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > lucene的首次应用

ASP.NET
asp.net 数据库的连接和datatable类
代码实现打印功能(asp.net+javascript)
asp.net 读取xml文件里面的内容,绑定到dropdownlist中
asp.net 执行事务代码
asp.net 对中文汉字的加密与解密代码
asp.net 下载文件时输出文件内容
asp.net TextBox控件设置ReadOnly后,不能回传。
c# 执行事务函数代码
asp.net 面试 笔试题目[附答案]
asp.net利用google的api做翻译
asp.ne去除html的函数代码
C# 添加图片水印类实现代码
Silverlight融合ajax实现前后台数据交互
mssql 存储过程调用C#编写的DLL文件
asp.net 需要登陆的网站上下载网页源代码和文件
asp.net cookie的操作,写入、读取与操作
asp.net textarea换行函数代码
.NET发起web请求时维持Session
asp.net 身份验证(最简单篇)
asp.net 身份验证(分目录验证篇)

ASP.NET 中的 lucene的首次应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 234 ::
收藏到网摘: n/a

我使用lucene进行了第一次聚合尝试,并通过app.config文件设定其优化时机和方法:
if(deletedItemIDs==null) deletedItemIDs = new Queue(config.RssIndexMinMergeDocs);
//deletedItemIDs用于保存需要更新的documentID
deletedItemIDs.Enqueue(item.Item.id);
this.RssIndexWriter.AddDocument(item.GetDocument());//indexwriter.
int doccount = RssIndexWriter.DocCount();
if(doccount % config.RssIndexMinMergeDocs == 0)//每隔config.RssIndexMinMergeDocs个优化一次
{
while(deletedItemIDs.Count>0)
{//对于需要更新的处理
string id = deletedItemIDs.Dequeue() as String;
RssIndexReader.Delete(new Lucene.Net.Index.Term(IndexedFeedItem.FN_ItemID,id));
}
RssIndexReader.Close();//关闭RssIndexReader.
RssIndexWriter.Optimize();//执行优化
RssIndexReader = IndexReader.Open(config.RssIndexPath);//重新打开RssIndexReader.
}