大家好,我是新手,有谁知道jive的搜索是怎么实现的

02-09-05 nature123
他是不是在数据库中用like之类的搜索啊,如果那样我们自己搜就是了那个luence的是作什么用的,望高手指点。

banq
2002-09-05 18:56
是采用lucence 你研究lucence就可以,别忘记在这里贴出你的研究心得

nature123
2002-09-05 21:51
不是吧,老大。给点思路也好啊

浆糊
2002-09-06 10:02
看看apache文档不就清楚了

nature123
2002-09-10 11:34
看了看大体明白了:对于静态页面,lucence会把用户指定的页面作个索引,我用cocoon的搜索(它也用lucence)作试验,lucence会在work目录下建一个index目录然后是生成了一些文件名如_5c.f21,_5c.f22之类的文件,我想lucence就是靠这些文件进行搜索的吧。对于数据库中的文件我想是不是在每次增加的时候lucence都对此文件作一下处理然后记住它的url。对于这一点只是猜测,不知对否。

kent
2002-09-14 20:46
jive里面有两个文件

DbSearchManager.java,那是用一个线程,定时找出最新的数据,交给lucene做index,并在search.xml里面标记搜索到的最大的ID号等信息。

而修改帖子则是在每个帖子修改时直接提交给lucene做index的

DbQuery则是具体的搜索,提交关键字,交给lucene,返回结果。

具体的,只要研究一下这两个文件就可以了

猜你喜欢