我的WebLucene安装经验
由于项目的需要,最近看了一些有关lucence的内容,后来导师推荐了车东先生的开源项目weblucene。这几天尝试了安装,其间发现了一些问题,这里与大家分享一下
首先本文是参考了一下文章写成的:
http://blog.donews.com/dev2dev/archive/2006/08/29/1021739.aspx
http://www.bgo.cn/20050912/01194241241.html
http://socolddai.spaces.live.com/Blog/cns!4A9992AF63EDFDDF!235.entry
1、安装系统环境
(1)javaJDK
这里我的是1.5
(2)JavaCC
这里我也是JavaCC 2.1
请注意,一定要安装JavaCC2.1,新的JavaCC4.0版本Weblucene不支持。
(3)Ant
我装的是1.7.0版本
(4)部署WebLucene工程
这里我用的是Tomcat 5.5,一样的,大家可以把weblucene压缩包解压缩到tomcat 5.5目录下的webapps目录中
2、Build项目
(1) 准备build环境
首先将weblucene下的build.properties.default重命名为build.properties然后对其内容进行配置
下面是我的配置:
# ---------------------------------------------------------
# WebLucene BUILD PROPERTIES
# ---------------------------------------------------------
jsdk_jar=c://tomcat 5.5//common//lib//servlet-api.jar
# Home directory of JavaCC
javacc.home = c://javacc2.1//bin
# modify following on Windows
# jsdk_jar=c://tomcat 5.5//common//lib//servlet-api.jar
# javacc.home = c://javacc2.1//bin
javacc.zip.dir = ${javacc.home}/lib
javacc.zip = ${javacc.zip.dir}/JavaCC.zip
这里要注意的是jsdk_jar一项,这是和resin中不一样的,每一个版本的tomcat这个包的名字也不一样,请大家仔细找
(2)build工程
运行命令C:/tomcat 5.5/webapps/weblucene/ant build会出现错误
这里问题的是从JDK1.5开始已经将enum保留为关键字,不能再做标识符,大家可以根据出错信息找到org.apache.lucene.queryParser.SimpleQueryParser.java和org.apache.lucene.search.StringFilter.java两个文件中凡是出现enum的地方都换成其他的比如enm(前者要修改3处,后者要修改9处),再次运行ant build 后显示“INSTALLATION COMPLETED SUCCESSFULLY”编译成功。
3创建索引
创建索引使用IndexRunner命令,位于/weblucene/WEB-INF/classes/IndexRunner.class,其参数格式为:
-i xml_url 输入XML的URL
-o output_dir 输出索引的目录
依次运行以下命令
set LIB="C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/lib"
set XMLPATH="C:/tomcat 5.5/webapps/weblucene/dump"
set VARPATH="C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/var"
java -classpath "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/classes";%LIB%/lucene.jar;%LIB%/xercesImpl.jar;%LIB%/log4j.jar;%LIB%/java-getopt.jar IndexRunner -i %XMLPATH%/blog.xml -o %VARPATH%/blog
请根据自己的情况作更改,这里要注意的是如果你有Program Files这样带空格的文件名,一定要在头尾加上双引号,否则会出现错误,正反斜杠的使用也要小心一些。(我这里的tomcat和5.5之间也有空格,没有引号的情况下一直报错。这个问题几乎困扰了我一天,请大家多加小心。)
4测试搜索
搜索使用SearchRunner 命令,位于 /weblucene/WEB-INF/classes/SearchRunner.class,其参数格式为:
-i 索引所在的目录
-f 索引的字段名
-k 查询的关键字
运行以下命令
java -classpath "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/classes";%LIB%/lucene.jar;%LIB%/java-getopt.jar SearchRunner -i "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/var/blog/index" -f "FullIndex" -k "路线图"
即可进行相应的搜索。
5部署web应用
对于tomcat 这里最简单的方法是将整个weblucene /webapp里的内容移动到webapp外面来,即剪切粘贴到weblucene/下,然后启动tomcat,输入http://127.0.0.1:8080/weblucene/search.html即可查询
希望这篇文章可以节省大家的一些时间
——Foggy.MK.Brunestud
由于项目的需要,最近看了一些有关lucence的内容,后来导师推荐了车东先生的开源项目weblucene。这几天尝试了安装,其间发现了一些问题,这里与大家分享一下
首先本文是参考了一下文章写成的:
http://blog.donews.com/dev2dev/archive/2006/08/29/1021739.aspx
http://www.bgo.cn/20050912/01194241241.html
http://socolddai.spaces.live.com/Blog/cns!4A9992AF63EDFDDF!235.entry
1、安装系统环境
(1)javaJDK
这里我的是1.5
(2)JavaCC
这里我也是JavaCC 2.1
请注意,一定要安装JavaCC2.1,新的JavaCC4.0版本Weblucene不支持。
(3)Ant
我装的是1.7.0版本
(4)部署WebLucene工程
这里我用的是Tomcat 5.5,一样的,大家可以把weblucene压缩包解压缩到tomcat 5.5目录下的webapps目录中
2、Build项目
(1) 准备build环境
首先将weblucene下的build.properties.default重命名为build.properties然后对其内容进行配置
下面是我的配置:
# ---------------------------------------------------------
# WebLucene BUILD PROPERTIES
# ---------------------------------------------------------
jsdk_jar=c://tomcat 5.5//common//lib//servlet-api.jar
# Home directory of JavaCC
javacc.home = c://javacc2.1//bin
# modify following on Windows
# jsdk_jar=c://tomcat 5.5//common//lib//servlet-api.jar
# javacc.home = c://javacc2.1//bin
javacc.zip.dir = ${javacc.home}/lib
javacc.zip = ${javacc.zip.dir}/JavaCC.zip
这里要注意的是jsdk_jar一项,这是和resin中不一样的,每一个版本的tomcat这个包的名字也不一样,请大家仔细找
(2)build工程
运行命令C:/tomcat 5.5/webapps/weblucene/ant build会出现错误
这里问题的是从JDK1.5开始已经将enum保留为关键字,不能再做标识符,大家可以根据出错信息找到org.apache.lucene.queryParser.SimpleQueryParser.java和org.apache.lucene.search.StringFilter.java两个文件中凡是出现enum的地方都换成其他的比如enm(前者要修改3处,后者要修改9处),再次运行ant build 后显示“INSTALLATION COMPLETED SUCCESSFULLY”编译成功。
3创建索引
创建索引使用IndexRunner命令,位于/weblucene/WEB-INF/classes/IndexRunner.class,其参数格式为:
-i xml_url 输入XML的URL
-o output_dir 输出索引的目录
依次运行以下命令
set LIB="C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/lib"
set XMLPATH="C:/tomcat 5.5/webapps/weblucene/dump"
set VARPATH="C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/var"
java -classpath "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/classes";%LIB%/lucene.jar;%LIB%/xercesImpl.jar;%LIB%/log4j.jar;%LIB%/java-getopt.jar IndexRunner -i %XMLPATH%/blog.xml -o %VARPATH%/blog
请根据自己的情况作更改,这里要注意的是如果你有Program Files这样带空格的文件名,一定要在头尾加上双引号,否则会出现错误,正反斜杠的使用也要小心一些。(我这里的tomcat和5.5之间也有空格,没有引号的情况下一直报错。这个问题几乎困扰了我一天,请大家多加小心。)
4测试搜索
搜索使用SearchRunner 命令,位于 /weblucene/WEB-INF/classes/SearchRunner.class,其参数格式为:
-i 索引所在的目录
-f 索引的字段名
-k 查询的关键字
运行以下命令
java -classpath "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/classes";%LIB%/lucene.jar;%LIB%/java-getopt.jar SearchRunner -i "C:/tomcat 5.5/webapps/weblucene/webapp/WEB-INF/var/blog/index" -f "FullIndex" -k "路线图"
即可进行相应的搜索。
5部署web应用
对于tomcat 这里最简单的方法是将整个weblucene /webapp里的内容移动到webapp外面来,即剪切粘贴到weblucene/下,然后启动tomcat,输入http://127.0.0.1:8080/weblucene/search.html即可查询
希望这篇文章可以节省大家的一些时间
——Foggy.MK.Brunestud