在搭建服务器之前需要下载以下几个发行包:
apache-solr-3.6.0-src.tgz
apache-solr-3.6.0.zip
lucene-3.6.0.zip
lucene-3.6.0-src.tgz
将以上几个包下载完成以后,我们将直接使用solr发行包给定的war包进行快速的搭建solr搜索服务器,这种方式一般不能满足实际的需求开发,它常常用于快速了解solr。
1.将apache-solr-3.6.0\apache-solr-3.6.0\example下面的multicore拷贝到apache-tomcat-7.0.2\conf下面;
multicore目录下面包含了Solr的基本配置。Solr支持配置多个实例,亦即,可以启动多个实例来服务于前端不同的搜索请求,每个实例对应一个core,而这样多个core的配置是通过multicore\solr.xml进行配置的,然后在multicore下面的每个目录中对应着每个core的详细配置,具体包括schema.xml(配置与Lucene的Field、Analyzer等相关的内容)、solrconfig.xml(这个是Solr实例核心的配置)。
另外,如果在solrconfig.xml中没有指定<dataDir>索引目录配置,则默认会生成apache-tomcat-7.0.2\conf\multicore\data\index目录,该目录下面存储索引文件。
2.将apache-solr-3.6.0\apache-solr-3.6.0\dist下面的apache-solr-3.6.0.war拷贝到apache-tomcat-7.0.2\webapps目录下面
3.配置WAR程序的Context:在apache-tomcat-7.0.2\conf\Catalina\localhost下面(如果目录不存在,则手动创建),创建文件apache-solr-3.6.0.xml,
apache-solr-3.6.0.xml的配置内容如下:
<Context docBase="${catalina.home}/webapps/apache-solr-3.6.0.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="${catalina.home}/conf/multicore" override="true" />
</Context>
docBase指定了我们的WAR文件的位置,上面的“solr/home”非常关键,在Web容器启动以后会加载Solr的基本配置并初始化相应的组件实例,它会根据指定的“solr/home”配置的路径去搜索相关的配置
4.设置Solr的字符集
默认Solr使用了UTF-8字符集编码,如果你的Tomcat不是的话,在执行中文搜索的时候可能会出现乱码。如果你的Tomcat默认8080端口请求字符集就是UTF-8,并且想使用这个默认的端口提供搜索服务,则可以修改apache-tomcat-7.0.2\conf\server.xml文件的内容,如下所示:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />在上面我们增加了一个URIEncoding="UTF-8"的配置