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

ASP.NET
一个多文档界面的应用程序
asp+ 制作图形
asp.net中的vb7中如何调用dll中的函数
asp.net中的vb7中如何使用socket作一个传送时间的server
asp+发送Email完全手册
用浏览器来接收C# 的程序返回的时间cool!
DataGrid巧用实现目录浏览
asp+中常用的NameSpace的讲解
随机函数生成密码的asp.net版本
强大的数组功能(asp+程序数组功能调用)
如何用asp+获取post的页面的数据
asp+版本简单的留言板的制作(一)
asp+版本简单的留言板的制作(二)
asp+版本简单的留言板的制作(三)
如何在服务器上保存一定时间的信息
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(一)
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(二)
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(三)
这是asp.net的第二个应用(四)
这是asp.net的第二个应用(五)

ASP.NET 中的 lucene的首次应用


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