lucene是一个十分不错的全文检索系统,其实在很早以前我就从放飞技术网(http://www.frontfree.net)知道了这个系统,但没有试用过,直到前几天一个朋友要我帮他调试weblucene,我才决定试用一下lucene。
之所以说lucene不错,是因为它与数据库检索系统比起来有许多优点,具体的优点你可以参考车东的一篇文章:“在应用中加入全文检索功能 ——基于Java的全文索引引擎Lucene简介(http://www.chedong.com/tech/lucene.html)”。
测试系统配置:WinXP Professional SP1+Java JDK1.4.2+Resin3.0.9
一、建立应用环境
1、将文件luceneweb.war复制到你的Resin3.0.9\webapps目录下,并启动Resin,运行IE(http://localhost:8080/),系统会自动为你生成一个名为luceneweb的目录。
2、将lucene-1.3-final.jar、lucene-demos-1.3-final.jar加入到系统配置的classpath中。
3、建立索引文件:
首先建立一个目录dest,此目录为你要检索的对象,可以包含子目录,并将你要索引的文件放入此目录中(注意,只能索引.html,.htm,.txt三种文件格式,其它格式需要你自己修改)。
然后建立一个目录luceneindex,此目录存放建立好的索引文件。
运行CMD,进入你的luceneindex目录,运行如下命令:
C:\resin-3.0.9\webapps\luceneweb\luceneindex>java org.apache.lucene.demo.IndexHTML -create -index C:\resin-2.1.6\webapps\luceneindex ../dest
此时你的luceneindex目录下会产生三个文件,建立索引文件完成。
4、修改configuration.jsp文件:
将String indexLocation = "/opt/lucene/index";修改为你的索引文件所在的目录。如:
String indexLocation = "C:\\resin-3.0.9\\webapps\\luceneweb\\luceneindex";
5、一切均已完成,Enjoy it!
测试结果贴图:
注:1、我在Tomcat 4.0上也测试了一下,但是对中文的支持真的太差了,而Resin对中文的支持确实还不错。
2、lucene不具有实时性,这也是它的一个缺陷,需要手工建立索引和更新,当然我们可以使用线程在WEB应用中每隔一段时间就自动建立和更新一次索引,这样便可得到改善。