jforum中的 lucene

(1)通过JForumBaseServlet类中的startApplication方法,启动了ConfigLoader.startSearchIndexer();
(2)ConfigLoader类中的startSearchIndexer,执行了SearchFacade.init()
public static void startSearchIndexer()
{
SearchFacade.init();
}
(3)SearchFacade类,
主要是创建了静态类SearchManager;
执行了searchManager.init();
(4)接口类 interface SearchManager
class LuceneManager implements SearchManager
LuceneManager类:
创建了3个 类:
private LuceneSearch search;
private LuceneSettings settings;
private LuceneIndexer indexer;
这样在初始化的过程中,需要的类基本上都用到了。

(5)然后在类GenericPostDAO(主要负责帖子的创建、删除、更新)中
public int addNew(Post post)
{
try {
this.addNewPost(post);
this.addNewPostText(post);

// Search
SearchFacade.create(post);

return post.getId();
}
catch (Exception e) {
throw new DatabaseException(e);
}
}
增加一个帖子,此时使用SearchFacade.create(post);
(6)进入SearchFacade.create(post),
public static void create(Post post)
{
if (isSearchEnabled()) {
searchManager.create(post);
}
}
(7)进入searchManager.create(post);
调用 LuceneManager 中的 create方法:
public void create(Post post)
{
this.indexer.create(post);
}
(8) LuceneIndexer中的create方法:
public void create(Post post)
{
Document document = this.createDocument(post);
writer.addDocument(document);
}
进行索引。
删除、更新索引等操作最后都是通过LuceneIndexer类中的方法完成的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值