Linux安装Solr6

环境准备

1、系统:CrntOS6.5
2、JDK1.8
3、Tomcat8
4、solr-6.6.2.tgz

这里JDK的安装就不多介绍,可以自己找资料安装

安装Tomcat

下载Tomcat包,解压,将其放到指定文件夹

/usr/local/solr/tomcat

为了避免端口号的冲突,修改conf下的server.xml

<Serverport="18005" shutdown="SHUTDOWN">
<Connectorport="18080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="18443" URIEncoding="UTF-8"/>
<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />

打开防火墙端口

centOS7:
    sudo firewall-cmd --zone=public --add-port=18080/tcp --permanent
    如果不使用“--permanent”标记,把么防火墙规则在重启后会失效。

centOS6:
    使用iptables的第一条命令可以通过防火墙开启一个新TCP/UDP端口。为了永久保存修改过的规则,还需要第二条命令。
    sudo iptables -I INPUT -p tcp -m tcp --dport 18080 -j ACCEPT
    sudo service iptables save 

安装Solr

1、解压solr,把solr-6.6.2\server\solr-webapp下的webapp文件夹拷贝到tomcat的webapps下,重命名为solr6,也可以是其他名字

2、拷贝solr-6.6.2\server\lib\ext下的jar包以及lib目录下gmetric4j-1.0.7.jar,以metrics开头的jar包,还有dist下的solr-dataimporthandler开头的两个jar包拷贝到 tomcat\webapps\solr6项目的WEB-INF\lib

3、拷贝solr-6.6.2\server下的solr文件夹到其它非中文目录下,重命名为solrhome,这里是建立到了solr6本身的安装目录下

/usr/local/solr/solrhome

4、修改tomcat\webapps\solr6(solr的项目名)\WEB-INF\web.xml, 找到如下代码,去掉注释,/put/your/solr/home/here改为你自己的solrhome的路径

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

5、并将web.xml下的这段代码注释掉,在文件末尾

  <!-- 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、拷贝solr6.6.2\server\resources下的log4j.propertiestomcat\webapps\solr6\WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹。修改solr.log=/usr/local/solr/solrhome/logs(需要新建logs文件夹)

7、重启tomcat,访问solr时后面记得加上“index.html”

http://192.168.41.132:18080/solr6/index.html

问题:

这里写图片描述
解决:
tomcat/webapps/solr6/WEB-INF/web.xml下的这段代码注释掉,在文件末尾

扫描二维码关注公众号,回复: 2168484 查看本文章
  <!-- 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>
  -->

创建solrcore

这里写图片描述
点击 Add Core
这里写图片描述
出错了,提示缺少配置文件

官方给出的文件目录中有默认配置文件

solr-6.6.2/server/solr/configsets/basic_configs下的conf文件夹

将conf复制到新建的core目录下,刚刚新建的Order目录在/usr/local/solr/solrhome/Order

然后再点击Add Core,添加成功

安装IK中文分词器

IKAnalyzer-6.5.0.jar
IKAnalyzer.cfg.xml
ext.dic
stopword.dic

第一步:把IKAnalyzer-6.5.0.jar添加到solr工程中。把分析器使用的扩展词典以及配置文件添加到classpath中。
第二步:需要自定义一个FieldType。managed-schema中定义。可以在FieldType中指定中文分析器。

<fieldType name="text_ik" class="solr.TextField">
    <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<field name="text_ik" type="text_ik" indexed="true" stored="true" multiValued="false" />

第三步:重启tomcat
这里写图片描述

猜你喜欢

转载自blog.csdn.net/code_shadow/article/details/80883261