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

ASP.NET
web中缓存的使用
浅谈.net 中的职责链模式的使用
c# 连接字符串数据库服务器端口号
虚拟主机上用Asp.net实现Urlrewrite
ADO.NET Entity Framework存取数据库中图片
.Net基础:.Net开发人员必知的八个网站
.Net Micro Framework中的线程
详解.NET编程过程中的线程冲突
微软 ASP.NET 内置安全架构的完全解析
运行 ASP 时脚本超时问题最终解决办法
.Net应用:制作ASP脚本组件实现重启服务器
.NET 环境下使用C# 防止SQL注入式攻击
利用C#远程存取Access数据库
.Net中图片的快速处理
浅谈对程序开发中异常的理解和认识
C#中的Adapter设计模式浅析
C# 2010命名和可选参数的新特性
.Net基础:学习反射中的动态创建对象
微软 ASP.NET 环境下的页面验证控件
如何在 C# 中发起会议之类的特殊邮件

ASP.NET 中的 lucene的首次应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 113 ::
收藏到网摘: 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.
}