Lucene学习笔记(3)
继续学习车东利用Lucene提供网站全文检索的开源项目。
由于文档不全,这次看代码看得很苦,几乎是用log4j一个类一个方法的看过来的。令人高兴的是,期间请教车东时,他说到要重新整理一下整个项目的源代码和文档,估计后来者可以轻松矣。
除了以前提到的汉化外,车东在这个项目中,加入了很多实用的东东,如反显、排序、摘要等,甚至也连网页过期时间、输出格式的限制都考虑到了。
下面是我的测试页面,大家看看先。等明天我把源代码diff一下,把我做的修改文件也挂上来,供大家参考。


在车东的简历上,有一个商业检索网址,估计是车东他们的成绩,可以去看看,也帮助理解这个项目的功能。 下面是运行weblucene需要作得改动和说明。
weblucene/ |-- WEB-INF | |-- classes | | `-- com | | `-- chedong | | |-- weblucene | | |-- WebLuceneAdminServlet.java | | |-- index | | | `-- SAXIndexer.java | | `-- search | | `-- WebLuceneHighlighter.java | |-- logs <-----这是一个子目录, 手工建立后程序运行时log文件在这个目录下。 | `-- var | `-- app | |-- index <-----这是一个子目录, 手工建立后索引时将索引文件放在这儿。 | |-- weblucene.xsl | `-- wl.conf |-- index.html |-- style.css `-- test.xml
对SAXIndexer.java的修改 将两行 sb.append(luceneDoc.getField((String) it.next())); 改为两行 sb.append(luceneDoc.get((String) it.next()));
对WebLuceneHighlighter.java的修改 将两处<u>改为<ins> 将两处</u>改为</ins>
对WebLuceneAdminServlet.java可改可不改 建议将 logFileName = servletConfig.getServletContext().getRealPath("WEB-INF/logs/") + logFileName; 改为 logFileName = servletConfig.getServletContext().getRealPath("WEB-INF/logs/") + "/" + logFileName; 除了三个java程序外,其它文件都可以从这儿下载.
通过web进行检索前,需要先建立索引,命令如下:
$ java IndexRunner -i tt.xml -o WEB-INF/var/app/index/ -t Title,Content -n Author,Pubtime
需要再说一句,就是估计车东会很快推出一个崭新的实用性更强的版本,到那时此处可供下载的内容估计都没有用了。:) 
|