linux下solr的安装与配置

准备工作

  1. 下载solrtomcat

  solr-4.8.1.tgz,apache-tomcat-7.0.54.tar.gz

 

  1. 打开/home/cluster,解压缩

tar zxvf apache-tomcat-7.0.54.tar.gz

tar zxvf solr-4.8.1.tgz

开始安装配置solr

  1. 建立solrhome

  mkdir -p /home/cluster/solrhome

 

  1. 把solr的war包拷贝出来 并且重命名为solr.war 放到任意文件夹 本例将其放到 solrhome下面

cp  /home/cluster/solr-4.8.1/dist/solr-4.8.1.war  /home/cluster/solrhome/solr.war

 

  1. 然后 将/home/cluster/solr-4.8.1/example/solr 文件夹拷贝到 solrhome文件夹下面(此例子目录是单core模式 如果是多core模式 则拷贝multicore) 

cp -r /home/cluster/solr-4.8.1/example/solr  /home/cluster/solrhome

  1. 然后将解压后solr-4.8.1文件夹中的contrib和dist文件夹,拷贝到/home/soft/solr-4.5.1/example/solr /home/soft/solrhome/ solr

cp  -rf   /home/cluster/solr-4.8.1/contrib  /home/cluster/solrhome/solr

cp  -rf   /home/cluster/solr-4.8.1/dist  /home/cluster/solrhome/solr

配置tomcat

  1. 在 tomcat的conf/Catalina/localhost/文件夹下面 建立solr.xml(docBase指向war solr/home 指向sorlhome里面的solr文件夹)

vi conf/Catalina/localhost/solr.xml 

<?xml version="1.0" encoding="utf-8"?> 

<Context docBase="/home/cluster/solrhome/solr.war" reloadable="true" > 

<Environment name="solr/home" type="java.lang.String" value="/home/cluster/solrhome/solr/" override="true" /> 

</Context>

  1. solr的日志相关的jar包 

把/home/cluster/solr-4.8.1/example/lib/ext 下面的全部jar 拷贝到 tomcat 的lib文件夹下面 

把 /home/cluster/solr-4.8.1/example/resources 下面的log4j配置文件 拷贝到 tomcat的 lib文件夹下面

 

  1. 单机版的配置修改 

找到 每个collection下面的conf文件夹里面的solrconfig.xml 

将<searchComponent name="clustering" enable="${solr.clustering.enabled:true}" class="solr.clustering.ClusteringComponent" > 

改成<searchComponent name="clustering" enable="${solr.clustering.enabled:false}" class="solr.clustering.ClusteringComponent" >

 

  1. 修改solrconfig.xml文件中的引入的jar包位置

<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" />

改为绝对路径

  <lib dir="/home/cluster/solrhome/solr/contrib/extraction/lib" regex=".*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/contrib/clustering/lib/" regex=".*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/contrib/langid/lib/" regex=".*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/contrib/velocity/lib" regex=".*\.jar" />

  <lib dir="/home/cluster/solrhome/solr/dist/" regex="solr-velocity-\d.*\.jar" />

配置IK分词

下载IK Analyzer 2012FF_hf1.zip(这个版本支持4.0以上)

解压后将IKAnalyzer2012FF_u1.jar放到tomcat/webapps/solr/WEB-INF/lib下面,并且在 tomcat/webapps/solr/WEB-INF/下面 创建classes目录 然后将IK****.zip 解压缩后将IKAnalyzer.cfg.xml 和stopword.dic 两个文件拷贝到classes目录 

这个不一定用配,得看文件中是否配过了 

修改 solrhome 下面的collection1/conf/schema.xml 加入如下类型 

<fieldType name="text_ik" class="solr.TextField"> 

<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> 

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 

</fieldType>

Ok 启动你的tomcat 访问http://localhost:8080/solr 看下管理界面 可进入测试了

 

 

 

mysql数据库配置

第一步导依赖包:

Solr包(在solr-4.8.1/dist目录下),如果找不到包的话,可用使用find –name solr-datai*查询一下

solr-dataimporthandler-4.8.1.jar

solr-dataimporthandler-extras-4.8.1.jar

数据库包

mysql-connector-java-3.0.10-stable-bin.jar放到 /home/cluster/solrhome/solr/dist下

同时在/home/cluster/solrhome/solr/collection1/conf下的solrconfig.xml引入jar

<lib dir="/home/cluster/solrhome/solr/dist/" regex="solr-dataimporthandler-\d.*\.jar" />

<lib dir="/home/cluster/solrhome/solr/dist/" regex="mysql-connector-java-3.0.10-stable-bin.jar" />

 

 

第二步

配置solrconfig.xml

在solrconfig.xml中加入如下配置:

<requestHandler   name = "/dataimport"   class = "org.apache.solr.handler.dataimport.DataImportHandler" >   

<lst   name = "defaults" >   

<str   name = "config" >data-config.xml</str>   

</lst>   

</requestHandler > 

第三步

创建data-config.xml文件,在使用vi编辑这个文件的时候注意,属性之间的空格,注意不要用汉字的双引号,同时注意field是在schema.xml中定义过的属性。

<dataConfig>  

  <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"   

   url="jdbc:mysql://localhost:3306/****?useUnicode=true&characterEncoding=utf-8" user="root" password="mysql"/>  

   <document name="search_object"> 

      <entity name="cource" query="SELECT id,name,description,price_per_day FROM t_course">  

        <field column="id" name="id"/>  

        <field column="name" name="name"/>

        <field column="description" name="description"/>

        <field column="price_per_day" name="price_per_day"/>

        <entity name="courceImage"

               query="SELECT file_path FROM t_course_image,t_course WHERE course_id ='${cource.id}'">

              <field column="file_path" name="file_path"/> 

       </entity>  

      </entity>  

   </document>  

</dataConfig>

 

 

在D:\tomcat-6.0.18\webapps\solr\WEB-INF\lib中加入mysql驱动包mysql-connector-java-5.0.4-bin.jar

 

6,将下载的apache-solr-3.6.2/dist/文件夹中的solr-dataimporthandler-4.8.1.jar、solr-dataimporthandler-extras-4.8.1.jar

拷贝到D:\tomcat-6.0.18\webapps\solr\WEB-INF\lib文件夹中

 

 

配置完上边的内容后,可以启动tomcat进行数据导入,按下边图片操作即可

 

 

成功之后,可以查询到结果了

 

 

 

posted @ 2014-08-22 14:28  java学习之旅  阅读(1657)  评论(0编辑  收藏  举报