Lucene学习笔记(3)(竹笋炒肉)

类别:Java 点击:0 评论:0 推荐:
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

  需要再说一句,就是估计车东会很快推出一个崭新的实用性更强的版本,到那时此处可供下载的内容估计都没有用了。:)

本文地址:http://com.8s8s.com/it/it12172.htm