|
搜索引擎lucene超快速入门(1)
最新版的lUCene轻松支持中文,能够轻松排序 下载最新的lUCene-1.4-final-src.tar.gz,解开里面有doCS,lib,src等目录,lib下有编译原码需要的junit-3.8.1.jar,我们可以使用ant1.6来build,也可以选择用eclipse来build。 在src有demo包,查看doCS目录的文档得知IndexFiles 和SearchFiles这两个类分别是用来build文本index,和进行search query的。 IndexFiles需要传进的参数:被build index的目录的绝对路径(该目录内所有文件将会被遍历build index)。SearchFiles不需要传任何参数便可直接运行,运行时会提示您输入需要查询的东西Query:。build生成的index文件默认会在src的index目录下。 Demo包里这两个只是很简单的demo,里面还有一个经典的demo,就是IndeXHTML,该类比较复杂,感兴趣的朋友可以仔细研究。下面要讲到如何排序。 在Google里面搜索lUCene,几乎都会找到车东同学的关于lUCene中文处理的大作,而且也都有提到一个叫CJKAnalyzer(chinese,Japanese,Korea)的类,这个Analyzer就是用来分析像中文,日文,韩文这种两个字节的字符的,这个解决方案后来也被jakarta项目收录在lUCene中,嘿嘿这样车东同学可出名了。 很疑惑的是当前我们下载的原码里面根本找不见前面说的CJKAnalyzer这个东东,不管怎么样,带着疑惑到lUCene官方网站上找找资料,查看changes.txt,太长,看看1.3~1.4版这一段时期的升级情况吧,仔细查看,居然发现1.4版已经默认就可以支持中文了(在changes.txt快速查找CTRL+F 输入chinese即可快速定位到该行说明)。再看看,发现可以随意排序?但是让自己去看Search#search的Javadoc,看过Javadoc,小小实验一把,果真如此!!还可以通过多个index来排序,所有排序功能只能应用到没有存储内容的index上。
|