日期:2014-05-16  浏览次数:20677 次

linux下配置solr
1. SOLR安装
    将SOLR发行包解压,复制dist/apache-solr-1.2.0.war到指定目录,例如/opt/apache-solr-1.2.0/dist/solr.war
2.TOMCAT配置
2.1 server.xml
    在server.xml主要设置侦听端口。一般来说,SOLR常用端口为8983。你也可以使用自己喜欢的端口,例如80或8080。 同时,注意将URIEncoding设置为UTF-8。例如AJP等更多Native优化,参考TOMCAT优化方案。
修改server.xml :
22行左右
<Server port="8006" shutdown="SHUTDOWN">
69行左右
  <Connector port="80" protocol="HTTP/1.1" 
             connectionTimeout="20000"
             redirectPort="8443" URIEncoding="UTF-8" maxThreads="600" acceptCount="400"/>
90行左右
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
144行左右
<Context path="/">
	<Environment name="solr/home" type="java.lang.String"  value="solr"/>
</Context>

2.2 solr.xml
    新增solr.xml在{$TOMCAT}/conf/Catalina/localhost/下。TOMCAT在启动时将自动加载该CONTEXT。docBase应设置为solr war包存放位置,例如/opt/apache-solor-1.3.0/dist/apache-solr-1.3.0.war
solr/home的值应设置为你规划存放的索引根路径,例如/opt/apache-tomcat-6.0.24-1/webapps/solr/。该目录在以下将称为{$SOLR_HOME}
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/opt/solrservers/backup/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solrservers/apache-tomcat-6.0.24-1/solr " override="true" />
</Context>

启动tomcat,发现在{$TOMCAT}的webapps下面多了一个solr目录。
3. SOLR配置
3.1 SOLR home设置
     在{$SOLR_HOME}目录下新建conf和lib目录。conf目录下面放置solrconfig.xml、schema.xml(这两个文件是必须的)、db-data-config.xml等文件这三个文件用来连接数据库和定义表的结构,这方面的知识需要参照solr wiki的知识;在lib目录下面放置solr所需要的jar包,比如数据库驱动的jar包等。
在{$SOLR_HOME}下创建solr.xml文件,添加一下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<solr sharedLib="lib" persistent="true">
     <cores adminPath="/admin/cores">
           <core default="true" instanceDir="booth" name="booth"></core>
           <core default="true" instanceDir="goods" name="goods"></core>
           <core default="true" instanceDir="info" name="info"></core>
           <core default="true" instanceDir="buy" name="buy"></core>
           <core default="true" instanceDir="boothbg" name="boothbg"></core>
           <core default="true" instanceDir="goodsbg" name="goodsbg"></core>
           <core default="true" instanceDir="facet" name="facet"></core>
     </cores>
</solr>

    这里我们创建了booth、boothbg、buy、facet、goods、goodsbg、info几个SolrCore实例。
3.2 SolrCore的配置
    在/opt/solrservers/apache-tomcat-6.0.24-1/solr目录下创建文件夹:booth、boothbg、buy、facet、goods、goodsbg、info,分别在相应目录进行配置,这里我们以booth作为例子,说明如何配置solr的booth检索。
    在booth目录下创建目录conf、data、lib目录,在conf目录下创建文件:solrconfig.xml、schema.xml(这两个文件是必须的)、db-data-config.xml等文件。编辑此三个文件,来连接数据库和定义对应表的结构;在data下建立index目录;将所需要的jar包考到lib目录下。
    重新启动Tomcat,在浏览器中打开链接:http://192.168.56.102:80/solr/,如果显示正确的管理界面,则部署成功了!

3.3有时运行会出现下面的错误
The processing instruction target matching "[xX][mM][lL]" is not allowed. 
Exception:org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

    这个异常解释为:xml文件不能被解析,一般出现这样的问题在于xml格式上,并且问题多出现在xml文件的头部。
    总结:所有xml文件中,<?xml version="1.0" e