想实现的桌面搜索引擎。最简单的方式莫过于基于Lucene开发,再结合Solr的文件格式分析,就可以实现一个检索doc,docx,PDF,email等文件内容和Metadata的便利工具,方便我查找文档。
1. 下载Lucene源代码
在http://lucene.apache.org/下载了lucene-4.0.0的源代码,解压缩。
在代码目录下的BUILD.txt中了解到,还需要下载ant和ivy。
2. 配置Ant和Ivy
在http://ant.apache.org/下载ant,我的版本是1.8.4。设置环境变量Path,包括ant下面的bin路径。
在http://ant.apache.org/ivy/index.html下载ivy,我的版本是2.3.0-rc1。解压后把ivy-2.3.0-rc1.jar放到ant目录下的lib中,这样ant就可以调用ivy了。
3. 安装Tomcat
在http://tomcat.apache.org/下载tomcat,我的版本是7.0。设置环境变量Path,包括tomcat下面的bin路径,同时设置CATALINA_HOME到tomcat的安装路径。
在tomcat/conf目录下,修改tomcat-users.xml,增加
<wbr><wbr><role rolename="manager-gui"/></wbr></wbr>
<wbr><wbr><user username="tomcat" password="tomcat" roles="manager-gui"/></wbr></wbr>
<wbr>表示增加一个tomcat:tomcat用户,可以通过web控制台管理tomcat服务器。</wbr>
4. 准备Lucene下demo的war部署包
随lucene-4.0.0发布的demo有两个错误,其一是没有完整地包含依赖的lucene功能库,二是对demo的类路径指定错误。所以必须进行以下两处修改,才能生成正确的war。
a) 修改lucene-4.0.0/demo/build.xml,在的标签内,加入以下几行:
<wbr><wbr><lib file="${analyzers-common.jar}"/></wbr></wbr>
<wbr><wbr><lib file="${sandbox.jar}"/></wbr></wbr>
表示运行demo还需要依赖lucene-analyzers-common和lucene-sandbox两个jar文件。
b) 在lucene-4.0.0\demo\src\resources\org\apache\lucene\demo\xmlparser\WEB-INF中修改web.xml,把<servlet-class>org.apache.lucene.xmlparser.webdemo.FormBasedXmlQueryDemo</servlet-class>
修改为
<servlet-class>org.apache.lucene.demo.xmlparser.FormBasedXmlQueryDemo</servlet-class>
5. 生成war部署包
在进入到lucene-4.0.0/demo,运行ant。完成之后即可在lucene-4.0.0/build/demo下面发现lucene-xml-query-demo.war这个文件。
6. 部署并运行
运行tomcat/bin下面的startup.bat启动tomcat服务器。然后进入http://localhost:8080,然后进入Manager App。在War file to deploy节指定lucene-xml-query-demo.war,然后deploy。
成功后打开行http://localhost:8080/lucene-xml-query-demo/即可体验lucene提供的Demo程序的功能,先是对一些文件构建内存索引,然后基于索引提供简单的搜索服务。