首先下载tomcat和solr:?
???? tomcat 7.0
???? solr 3.5.0?
??? 使用目前网上最常见的安装方法。最初我按按照这篇文章配置的,相当简单实用。http://www.cnblogs.com/cy163/archive/2009/09/18/1569681.html
solr siki:http://wiki.chenlb.com/solr/doku.php?id=solrinstall
之后按照solrwiki上的说明,自己重新进行按照和配置,具体如下:
1. 安装tomcat,直接解压即可,我放到了c盘。
2. 解压下载的solr压缩包,将apache-solr-3.5.0\dist\apache-solr-3.5.0.war 文件复制到C:\apache-tomcat-7.0.22\webapps目录下,并重命名为solr.war 。
3. 配置tomcat。打开C:\apache-tomcat-7.0.22\conf\server.xml文件,找到port=8080那部分,加上URIEncoding="UTF-8";,这对解决solr中文问题至关重要。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
?
4. c盘新建一个apache-solr目录,把apache-solr-3.5.0\example\solr目录复制到该目录下,该目录将作为solr.home 。
5. 配置solr.home。在apache-tomcat-7.0.22\conf\Catalina\localhost目录先新建一个solr.xml文件。如果上述目录不存在,手动建立即可。solr.xml的内容如下:?
<Context docBase="C:/apache-tomcat-7.0.22/webapps/solr.war" reloadable="true" > ? <Environment name="solr/home" type="java.lang.String" value="C:/apache-solr/solr" override="true" /> </Context>
?
??? ok,配置结束。启动tomcat,打开 http://localhost:8080/solr/即可看到熟悉的tomcat,打开 http://localhost:8080/solr/ 即是solr的主页面。?
??? 实际情况是,打开http://localhost:8080/solr/ 看到的是server 500错误,相当纠结。按照之前文章的方法没有任何问题。仔细看错误信息后方法,是solr指定的包没有找到。
??? 打开C:\apache-solr\solr\conf目下的solrconfig.xml文件,找到
<!-- A dir option by itself adds any files found in the directory to the classpath, this is useful for including all jars in a directory. --> <lib dir="../../contrib/extraction/lib" /> <lib dir="../../contrib/clustering/lib/" /> <lib dir="../../contrib/velocity/lib" /> <!-- When a regex is specified in addition to a directory, only the files in that directory which completely match the regex (anchored on both ends) will be included. --> <lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" /> <lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" /> <lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> <lib dir="../../dist/" regex="apache-solr-langid-\d.*\.jar" /> <lib dir="../../dist/" regex="apache-solr-velocity-\d.*\.jar" /> <!-- If a dir option (with or without a regex) is used and nothing is found that matches, it will be ignored --> <lib dir="../../contrib/clustering/lib/" /> <lib dir="/total/crap/dir/ignored" />
?
??? 可以看到,lib引入了apache-solr-3.5.0目录下contrib和dist两个目录下的包,当使用apache-solr-3.5.0\example\solr作为solr.home时,可以正确的找到这些包。另外配置solr.home时,需要把这些文件也引入进来。把apache-solr-3.5.0目录下contrib和dist两个文件夹一起复制到C:\apache-solr目录下,然后打开C:\apache-solr\solr\conf目下的solrconfig.xml,修改如下:
<!-- A dir option by itself adds any files found in the directory to the classpath, this is useful for including all jars in a directory. --> <lib dir="../contrib/extraction/lib" /> <lib dir="../contrib/clustering/lib/" /> <lib dir="../contrib/velocity/lib" /> <!-- When a regex is specified in addition to a directory, only the files in that directory which completely match the regex (anchored on both ends) will be included. --> <lib dir="../dist/" regex="apache-solr-cell-\d.*\.jar" /> <lib dir="../dist/" regex="apache-solr-clustering-\d.*\.jar" /> <lib dir="../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> <lib dir="../dist/" regex="apache-solr-langid-\d.*\.jar" /> <lib dir="../dist/" regex="apache-solr-velocity-\d.*\.jar" /> <!-- If a dir option (with or without a regex) is used and nothing is found that matches, it will be ignored --> <lib dir="../contrib/clustering/lib/" /> <lib dir="/total/crap/dir/ignored" />
?
??? ok,现在启动tomcat,打开http://localhost:8080/solr/ 即可看见solr的主页面了。