他是不是在数据库中用like之类的搜索啊,如果那样我们自己搜就是了那个luence的是作什么用的,望高手指点。
大家好,我是新手,有谁知道jive的搜索是怎么实现的
是采用lucence 你研究lucence就可以,别忘记在这里贴出你的研究心得
不是吧,老大。给点思路也好啊
看看apache文档不就清楚了
看了看大体明白了:对于静态页面,lucence会把用户指定的页面作个索引,我用cocoon的搜索(它也用lucence)作试验,lucence会在work目录下建一个index目录然后是生成了一些文件名如_5c.f21,_5c.f22之类的文件,我想lucence就是靠这些文件进行搜索的吧。对于数据库中的文件我想是不是在每次增加的时候lucence都对此文件作一下处理然后记住它的url。对于这一点只是猜测,不知对否。
jive里面有两个文件
DbSearchManager.java,那是用一个线程,定时找出最新的数据,交给lucene做index,并在search.xml里面标记搜索到的最大的ID号等信息。
而修改帖子则是在每个帖子修改时直接提交给lucene做index的
DbQuery则是具体的搜索,提交关键字,交给lucene,返回结果。
具体的,只要研究一下这两个文件就可以了