solr 安装(一)
首先下载tomcat和solr:
tomcat7.0
solr3.5.0
使用目前网上最常见的安装方法。最初我按按照这篇文章配置的,相当简单实用。http://www.cnblogs.com/cy163/archive/2009/09/18/1569681.html
solrsiki: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的主页面了。