Solr单机版安装及分词器的使用

需要声明的是此文章所使用的solr版本为7.4,不同的版本对应的安装过程存在差异

solr官方参考文档:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.html

1.solr安装环境

环境solr运行需要jdk环境,solr4使用tomcat作为web容器,从solr5开始已经内置了jetty服务器。

JDK和Tomcat的安装参考文章:https://blog.csdn.net/Stephen_mu/article/details/89187003

jdk版本 1.8

tomcat版本:8.5.42

补充:本文中tomcat安装位置为:/usr/local/solr/tomcat-8.5

solr下载:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.html

2.solr单机安装

1.解压软件包

解压:
tar -xzvf solr-7.4.0.tgz

2.部署solr到tomcat下

复制solr-7.4.0/server/solr-webapp/目录下的webapp到tomcat8.5/webapps/下,并且重命名为solr便于识别!

注意此处solr目录不可以提前手动创建!否则此段命令的效果为将webapp目录搬迁到solr目录下
cp -r /opt/solr-7.4.0/server/solr-webapp/webapp /usr/local/solr/tomcat-8.5/webapps/solr

3.拷贝solr-7.4.0\server\lib\ext 下的jar包以及lib目录下gmetric4j-1.0.7.jar和metrics开头的jar包拷贝到 tomcat-8.5\webapps\solr 项目的WEB-INF\lib下

cp /opt/solr-7.4.0/server/lib/ext/* /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/lib/
cp /opt/solr-7.4.0/server/lib/gmetric4j-1.0.7.jar /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/lib/
cp /opt/solr-7.4.0/server/lib/metrics-* /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/lib/

4.创建一个索引库solrhome

拷贝/opt/solr-7.4.0/server/目录下的solr目录到其他非中文目录下,并且重命名为solrhome
我建立在/usr/local/solr/目录下

cp -r /opt/solr-7.4.0/server/solr /usr/local/solr/solrhome

5.关联solr索引库

修改/usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/web.xml文件,打开注释,配置solrhome(索引库)的位置

vim /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/web.xml

添加如下内容
<env-entry>
      <env-entry-name>solr/home</env-entry-name>
      <env-entry-value>put your solrhome path</env-entry-value>
      <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
其中solr索引库位置,我的路径为:/usr/local/solr/solrhome


然后到最下方,将这一段注释掉,不然会报403错误,完成后保存退出(solr4部署不用注释这个)
 <!-- Get rid of error message -->
  <!--<security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>-->

6.拷贝solr7.4.0\server\resources下的 log4j2.xml 到tomcat-8.5/webapps/solr/WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹

cp /opt/solr-7.4.0/server/resources/log4j2.xml /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/classes/

7.访问测试

启动tomcat服务器

/usr/local/solr/tomcat-8.5/bin/startup.sh

访问地址:http:192.168.28.130:8080/solr/index.html

3.solr使用配置

虽然至此我们完成了solr的安装配置!,但是我们在使用时我们会发现在core admin Tab下点击add core(此处的core相当于数据库中的表用于管理索引和相关配置)

解决方案:在solehome目录下创建new_core目录,并且复制相关配置文件到该new_core下面!然后重启tomcat

##在/usr/local/solr/solrhome/路径下创建new_core目录
mkdir /usr/local/solr/solrhome/new_core


##将相关配置文件拷贝到new_corem目录下
cp -r /usr/local/solr/solrhome/configsets/sample_techproducts_configs/conf 
/usr/local/solr/solrhome/new_core/

##将new_core目录下的elevate.xml文件拷贝一份到data目录下
cp /usr/local/solr/solrhome/new_core/elevate.xml /usr/local/solr/solrhome/new_core/data/

 

4.为solr配置分词器IK

分词器项目地址:https://github.com/magese/ik-analyzer-solr7

分词器jar包下载:https://search.maven.org/remotecontent?filepath=com/github/magese/ik-analyzer/8.1.0/ik-analyzer-8.1.0.jar

1.下载项目压缩包,解压

unzip ik-analyzer-solr-master.zip

2.引入项目jar包,将jar包放入Solr服务的JettyTomcatwebapp/WEB-INF/lib/目录下

cp ik-analyzer-8.1.0.jar /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/lib/

3.将resources目录下的5个配置文件放入solr服务的JettyTomcatwebapp/WEB-INF/classes/目录下

需要拷贝的文件分别为:
# IKAnalyzer.cfg.xml
# ext.dic
# stopword.dic
# ik.conf
# dynamicdic.txt

cp ./ik-analyzer-solr-master/src/main/resources/* /usr/local/solr/tomcat-8.5/webapps/solr/WEB-INF/classes/ 


4.配置Solr的managed-schema,添加ik分词器

<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>


在/usr/local/solr/solrhome/new_core/conf找到managed-schema配置文件,末尾添加以上内容

5.重启tomcat服务器,测试分词器

6.停止solr服务,我们只需要关闭tomcat即可 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值