+ -
当前位置:首页 → 问答吧 → Windows下Weblucene试用手记

Windows下Weblucene试用手记

时间:2006-07-13

来源:互联网

Windows下Weblucene试用手记
作者:许立强([email protected]http://blog.sina.com.cn/u/1484006094  2006-7-12

一、        下载weblucene
直接到sourceforget.net去下载最新的版本。最新的是0.5,是2004年发布的,好像之后就没有更新过了。

二、        安装相关软件及编译weblucene
解压后的文件里面的build.txt里面游详细的说明,按照说明安装。
其中需要注意:
1、        jdk最好是作者推荐的版本1.4。我当时装的是1.5的版本,后来编译的时候总是出错,提示说“\weblucene\webapp\WEB-INF\src\org\apache\lucene\search下的StringFilter.java中出错”。主要是enum在jdk1.5中是系统定义的变量,不能被用户定义使用。你只要把那个文件里面所有的enum改成另外一个,比如我就改成了newenum。
2、        JavaCC必须使用2.1版本。你从https://javacc.dev.java.net/file ... 711/JavaCC2_1.class下载了JavaCC2_1.class,然后在命令行下输入java -cp ./ JavaCC2_1 �Cc即可以安装。注意哦,最新版本的javacc版本的安装和2.1的安装是完全不一样的。其他本版的javacc是编译不成功的。我使用最新的4.0测试的时候就没有成功。
3、        “从Sourceforge.net获得Weblucene的最新版本”这一部完全没有必要。当时我学着去用cvs下载。因为我以前不熟悉cvs,所以还不得不重新下载N多软件,安装,学习使用,最后cvs更新下来的和你重sf下载的最新版本完全一样。汗,浪费俺不少时间。
   
三、        构建索引
1、        在weblucene\WEB-INF\classes文件目录下我使用命令编译java -cp ../lib/java-getopt.jar;../lib/jdom.jar;../lib/log4j.jar;../lib/lucence.jar;../lib/xalan.jar;../lib/xercesImpl.jar;../lib/servlet-api.jar;./ IndexRunner -i ../../dump/blog.xml -o ../var/blog 没有编译成功,原因未知。

2、        严格按照文档的说明,改成如下命令测试成功。注意,顺序都要一样。java -cp ./;../lib/lucene.jar;../lib/xercesImpl.jar;../lib/log4j.jar;../lib/java-getopt.jar IndexRunner -i ../../../dump/blog.xml -o ../var/blog。(推荐写成一个“..bat”文件)

3、        出现“Great!indexing ok”。这样你在weblucene\WEB-INF\var\blog目录下可以看到一个index文件夹。里面有相关的索引。


四、        搜索测试

1、        java -cp ./;../lib/lucene.jar;../lib/xercesImpl.jar;../lib/log4j.jar;../lib/java-getopt.jar SearchRunner -i ../var/blog/index -f "FullIndex" -k "收费和扩招的理由"

2、        测试成功。

五、        总结

1、        weblucene采用的中文分词是CJKAnalyzer分词算法,也就是二分算法。从我测试关关键字“收费和扩招的理由”可以看出,其算法是缺乏有效性的。
2、        weblucene能很好的对xml文件进行索引搜索,对垂直搜索很有帮助。
3、        weblucene是开源的,具有很好的扩展性。如果能对其中的analyzer很好的扩展改进,效果会更加明显。
4、        最后weblucene的搜索端是采用php的。对于我们PHPER来说的确是个好消息。而weblucene的内核也是采用lucene代码的。如果我们使用Zend Framework的lucene包,并扩展之,切和weblucene有效的结合起来应该会是一种很好的垂直搜索工具。

最后,附带上我最近对国内外几种中文分词算法的测试结果。

1、        Lucene2.0的standardAnalyzer分词a、        完美的英文分词。
b、        能区分email, url ,ip 等等
c、        支持中文分词,采用单个字体分词。不对中文的stopWord过滤(这个我们可以扩展)。
d、        支持stopWord过滤。
e、        支持大小写转化
f、        开源
g、        不需要词库


2、        lucene的CJKAnalyzer分词
a、        支持中文分词。采用中文二分分词算法,速度快,但数据冗余大。
b、        支持英文分词,但对IP,EMAIL,URL支持不好
c、        开源
d、        不需要词库

3、        vgoogle的GSW5分词a、        优秀的中文分词。中文分词效果好。
b、        英文分词效果很差
c、        不开源
d、        需要词库支持

4、        计算所汉语词法分析系统ICTCLAS(未找到合适的测试,网上测试一直不初结果)


5、        第三代智能分词系统3GWS
A、        很优秀的一个中英文分词工具,极好的中文分词功能
B、        极好的英文分词功能
C、        有效的区分url, email ,ip等等
D、        不开源,遗憾。
E、        需要词库支持

[ 本帖最后由 feifengxlq 于 2006-7-12 19:00 编辑 ]

作者: feifengxlq   发布时间: 2006-07-12

热门下载

更多