网上有好多文章都是讲它怎么好的,怎么去index一个文件,怎么分词.
都没有具体介绍怎么在web application里用的,只好参考用到了lucene实现的open source project了,jive这种是用到了,可是它是用的jdbc没有用到orm,对于用orm这种就不好参考了,其实原理很简单,就是save有update的时候去index,就可以了.可是自己又想不到很好的方法去做.
幸好使用lucene的项目还不少,谁叫它这么出名。
,javaeye上的simpleoa里面用到了。可是我看了半天觉得不是很好,它是通过domain object 实现一个Searchable接口去表明这个domain 哦bject是可以index的。不过我觉得这样粒度还是有些粗,比如simpleoa中的user是searchable的。那样的话是不是密码字段也index了。虽然可以加密处理,但是总是觉得不是很好.
又看了看,opennuke,javabb,好像都是葡萄牙人写的,是java.net上的项目,它是用spring的Aop去实现的,写了一个interceptor具体我也没有深入去看,觉得太复杂了。
后来找到了。petsoar这个项目,是sf上的,不过好像没有更新,这是注册了一下,这个是Wiley - Java Open Source Programming (With Xdoclet, Junit, Webwork, Hibernate) - 2004 .pdf这本书里面的。有中文翻译的书出版了。不过翻译超级的烂,建议不要买,下载电子书看看就可以了。到wiley网站上就可以下载petsoar的源代码,它的lucene的实现非常好,它也是在save object的时候去index,不过他对object的字段进行了配置,那些可以index,那些不需要。目前我就采用它的实现方式去实现了。呵呵。