当能熟练的在Linux下配置JVM环境之后,就可以很轻松的部署一个solr环境了。
所使用的全部组件如下图:
将solr-4.8解压后的目录结构是这样:
在搭建这个环境的过程中用到重要的目录有两个:1.dist,提供了测试项目solr-*.war; 2.example下面的solr目录,提供了测试的配置.
1.将dist下面的solr-*.war重命名为solr.war(并非必须这么做,只是为了方便使用),并拷贝到tomcat的webapps下。war文件会在tomcat启动时自动解压为目录.如下图:
2.拷贝/example/solr目录下面所有的子文件及目录到一个目录,这个目录将作为solr的home目录,之后在运行时会配置到项目中,这里使用的{solr.home}是/bak/solrhome,对应的cp命令为:
cp -r solr/ /bak/solrhome
3.进入到 /bak/solrhome/collection1/conf/ 目录下的solrconfig.xml文件中,修改两处,一是注释掉文件中的这一部分代码,大致可以知道,这个简单的项目用不到这些配置:
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
二是配置一个数据索引文件夹,这里配置到 /bak/solrindex :
<!--未配置的代码-->
<dataDir>${solr.data.dir:}</dataDir>
<!--配置后的代码-->
<dataDir>${solr.data.dir:/bak/solrindex}</dataDir>
配置完毕后,/bak 的文件结构应该是这样的:
4.配置solr项目的web.xml,这里正确的配置为:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/bak/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
OK!配置完毕,启动Tomcat.
在浏览器中输入: http://192.168.137.101:8080/solr ,(ip根据实际情况换掉) 我们就能看到solr的管理界面:
PS:在配置的时候发现360浏览器会报类似"There exists no core ...."的错误。不明觉厉。但是在chrome和firefox下没问题。也算放心了。