- 自己动手写分布式搜索引擎
- 罗刚
- 1028字
- 2020-11-28 15:52:38
1.2 开发环境
由于开源软件的迅速发展,可以借助开源软件简化搜索引擎开发工作。很多开源软件用Java语言编写,例如最流行的全文索引库Lucene,所以本书采用Java来实现搜索。
为了实现一个简单的指定目录文件的搜索引擎,首先要准备好JDK和集成开发环境Eclipse。当前可以使用JDK 1.6。JDK 1.6可以从Java官方网站http://java.sun.com下载得到,使用缺省方式安装即可。本书中的程序在附赠的资源中都能找到,可以直接导入Eclipse中。Eclipse默认是英文界面,如果习惯用中文界面可以从http://www.eclipse.org/babel/downloads.php下载支持中文的语言包。
Lucene是一个Java实现的jar包,用来管理搜索引擎索引库。可以从http://lucene.apache.org/java/docs/index.html下载到最新版本的Lucene,当前最新的版本是3.0。
如果需要用Web搜索界面,还要下载Tomcat,可以从http://tomcat.apache.org/下载,推荐使用Tomcat 6以上的版本。使用开源的全文检索包Lucene作索引后,要把实现搜索的界面发布到Tomcat。
对于Web搜索界面,建议使用MyEclipse开发。对于其他普通的非Web开发工作则不建议使用MyEclipse。例如,开发爬虫建议只使用Eclipse,而不要用MyEclipse。MyEclipse开发普通的Java项目时,速度慢。
Lucene及一些相关项目的源代码由版本管理工具SVN管理,如果要构建源代码工程,可以使用Ant和Maven工具。
如果需要导出Lucene的最新开发版本,就需要用到SVN的客户端。“小乌龟”TortoiseSVN是最流行的SVN客户端。TortoiseSVN的下载地址是http://tortoisesvn.tigris.org/。安装TortoiseSVN后,选择一个存放源代码的文件夹,单击右键,选择TortoiseSVN菜单中的Export...选项导出源代码。
Ant与Maven都是项目管理软件Make类似。虽然Maven正在逐步替代Ant,但当前仍然有很多开源项目在继续使用Ant。从http://ant.apache.org/bindownload.cgi可以下载Ant的最新版本。
在Windows下,ant.bat和3个环境变量相关:ANT_HOME、CLASSPATH和JAVA_HOME。需要设置ANT_HOME和JAVA_HOME环境变量,并且路径不要以\或/结束,不要设置CLASSPATH环境变量。可以使用echo命令检查ANT_HOME环境变量:
>echo %ANT_HOME% D:\apache-ant-1.7.1
如果把Ant解压到c:\apache-ant-1.7.1,则需修改环境变量PATH,增加当前路径c:\apache-ant-1.7.1\bin。
如果项目的源代码根目录包括一个build.xml文件,则说明这个项目可能是用Ant构建的。大部分用Ant构建的项目只需要如下一个命令:
#ant
生成jor包。
可以从http://maven.apache.org/download.html下载最新版本的Maven,当前最新版本是Maven 2.2.1。解压下载的Maven压缩文件到C盘根目录下,将创建一个c:\apache-maven-2.2.1路径。修改Windows系统环境变量PATH,增加当前路径c:\apache-maven-2.2.1\bin。如果一个项目的源代码根目录包括一个pom.xml文件,则说明这个项目可能是用Maven构建的。大部分用Maven构建的项目只需要如下一个命令:
#mvn clean install
盖大楼的时候需要搭建脚手架,虽然最终不会交付使用。很多单元测试代码也不会在正式环境中运行,但是必须写。可以使用JUnit做单元测试。
如果参与开发的人很多,就需要一个项目管理软件,例如Redmine或者JIRA。Lucene和Solr的开发管理就是用的JIRA。
搜索集群往往运行在Linux操作系统,需要熟悉一些Linux命令,例如使用crash命令分析Linux内核崩溃转储文件。