原创:CentOS6.4配置solr 4.7.2+IK分词器

本文原创,转载请注明出处

相关资源下载:http://pan.baidu.com/s/1pJPpiqv

1.首先说明一下 solr是java语言开发的企业级应用服务器,所以你首先安装好jdk,配置好java的运行环境,然后solr提供一套wapapp,类似于一个后台

  对外提供服务,所以你也 应该安装好 网站的一个运行环境tomcat,在此掠过。本环境安装的路径如下:

 jdk :/usr/local/jdk    tomcat :/usr/local/tomcat 

 环境说明:centos-6.4+jdk6.0+tomcat-6+solr-4.7.2[如果安装4.9版本的,则提示不兼容,它是用java高版本编译的,低版本下运行不起来]

网上说的拷贝这包,那包的都不靠谱,为甚么要拷贝,也没有说清楚。下载完 solr-4.7.2后解压

2. solr其实分两部分,一部分是网站也就是那个 dist/solr-4.7.2.war[有人说是example/webapps/solr.war 这个经测试不对,也许是版本原因吧]

   另一部分就是solr自己的程序包,在example/solr (这里你要注意了,如果单单是吧这个文件夹拷走是不对了,应为它要引用 contrib和dist文件夹里的jar包)

  在此引用的:solr-4.7.2solr-4.7.2examplesolrcollection1confsolrconfig.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" />

 实战部分:①:将solr-4.7.2solr-4.7.2distsolr-4.7.2.war  拷贝到tomcat的webapps 下,一定要改成solr.war 我的是/usr/local/tomcat/webapps/solr.war,重启tomcat后,tomcat会制动给你

                     解压成solr.后续看下边。

       ②   将solr-4.7.2solr-4.7.2contrib 和solr-4.7.2solr-4.7.2dist 目录拷贝到solr-4.7.2solr-4.7.2examplesolr 下,然后修改以上的配置文件 ../../../ 变成../../../

                     PS:你怎么拷贝都成,只要这个配置文件的相对路径能找到那两个文件夹下的jar包,修改完之后,将examplesolr  打包成 solr.zip 【rar在linux上无法解包】

                     然后把这个solr.zip 上传到/usr/local/tomcat/下  unzip solr.zip 一下

              ③  修改/usr/local/tomcat/webapps/solr/WEB-INF/web.xml 文件 找到以下节点 将其替换

                 

  <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/tomcat/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

                 

      solr/home 就是咱 刚才上传的那个zip包,重启tomcat,输入 http://localhost:8080/solr OK,搞定。

3.配置安装中文分词IKanalyzer

                       

   1) 解压IK Analyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1.将该目录下的

      IKAnalyzer.cfg.xml,

      IKAnalyzer2012FF_u1.jar,

      stopword.dic

    放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/lib/目录下,比如我这里是/usr/local/tomcat/webapps/solr/WEB-INF/lib/

          2)  修改 /usr/local/tomcat/solr/collection1/conf/schema.xml 在<type></types>中增加如下内容

             

   <fieldType name="text_ik" class="solr.TextField">
       <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
           <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

 然后随便找一个field 例如  <field name="author" type="text_ik" indexed="true" stored="true"/>  将type值变成text_ik 原来是[text_general]

       ok,可以测试了

       

  分出来了吧,弄不出来,可以contact me  QQ:769871707

#有可能遇到的问题:

从solr-4.7.2examplelibext复制所有的jar到tomcat/lib下,并复制solr-7.2example
esourceslog4j.properties到tomcat/lib下(有关日志的说明,见http://wiki.apache.org/solr/SolrLogging),须知,solr-4.7.2.jar并没有自带日志打印组件,因此这个步骤不执行,可能引起“org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars.”异常;

  

原文地址:https://www.cnblogs.com/lixiuran/p/3814828.html