《solr笔记》Linux下tomcat7+solr-4.7.0+Ik中文分词器安装

荒凉一梦 提交于 2019-12-02 02:30:21

一、下载solr

         实验的版本:4.7.0

         下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/4.7.0/solr-4.7.0.tgz

二、部署处理

         通过tar命令解压下载的压缩包,得到如下目录结构。

 

在建立一个solr的home目录,比如建在/data/solrhome,进入上面解压目录/solr-4.7.0/example/solr

 

把这个文件夹里面所有的文件copy到/data/solrhome,进入/data/solrhome/collection1/conf,里面有个solrconfig.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" />

把这几个配置注释掉,暂时用过不到。      

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

同样是这个文件,在里面找到下面这项配置,这个是指定你的索引文件存在什么地方的  

<dataDir>${solr.data.dir:}</dataDir>

我的索引文件是存在:/data/solrindex,把配置改成如下配置就可以了,保存修改后的文件。  

<dataDir>${solr.data.dir:/data/solrindex}</dataDir> 

进入solr压缩包得解压目录dist,里面有个solr-4.7.0.war包,复制到你的tomcat下的webapp目录,启动tomcat后会解压solr-4.7.0.war包,并解压到该目录下的solr目录,然后删除tomcat的webapp下的solr-4.7.0.war包。解压后进入solr目录,这个目录就是一个标准的web项目的目录了。

进入WEB-INF目录,找到web.xml用记事本等文本编辑工具打开,找到下面这段配置,env-entry-value这项配置,这个配置是指定你的solr的home目录,例如我的是:/data/solrhome

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/data/solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>


这时候我们启动会报错,说找不到一些类,这些类是log4j相关的,记日志用的。

需要的jar包如下:

/solr-4.7.0/example/lib/ext复制所有的jar到tomcat/lib下,并复制solr-4.7.0\example\resources\log4j.properties到tomcat/lib下


重新启动tomcat,浏览器进入:http://localhost:8080/solr,便进入了solr的管理界面了

三、配置IK中文分词器。

1.下载最新的Ik中文分词器。

下载地址:http://ik-analyzer.googlecode.com/files/IK%20Analyzer%202012FF_hf1.zip

2.解压IK Analyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1。将该目录下的IKAnalyzer.cfg.xml,stopword.dic放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/classes目录下(没有就创建classes文件夹。) IKAnalyzer2012FF_u1.jar放到之前安装的TOMCAT_HOME/webapps/solr/WEB-INF/lib目录下

3.修改/solr_home/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>


同时修改filed 使filed引用text_ik.这样才能使用IK分词器。

<field name="name" type="text_ik" indexed="true" stored="true"/>

4.测试:http://localhost:8080/solr/#/collection1/analysis 查看结果,说明配置成功。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!