Solr教程参考指南:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.htmlhtml
系统要求:Java 8+ 这里咱们把solr服务部署到Tomacat服务器中,Tomcat安装过程参考:http://www.javashuo.com/article/p-nizbhchp-ko.htmljava
在solr5之前solr的启动都有tomcat做为容器,可是从solr5之后solr内部集成jetty服务器,能够经过bin目录中脚本直接启动。就是从solr5之后跟solr4最大的区别是被发布成一个独立的应用。node
下载地址:http://archive.apache.org/dist/lucene/solr/
git
[admin@node21 software]$ wget http://archive.apache.org/dist/lucene/solr/7.4.0/solr-7.4.0.tgz
[admin@node21 software]$ ll
-rw-rw-r-- 1 admin admin 167346886 Jun 19 02:51 solr-7.4.0.tgz
[admin@node21 software]$ tar zxvf solr-7.4.0.tgz
[admin@node21 software]$ ls solr-7.4.0 bin CHANGES.txt contrib dist docs example licenses LICENSE.txt LUCENE_CHANGES.txt NOTICE.txt README.txt server
注意,这里由于我用的是solr7.4最新版,因此跟solr4版本要拷贝*.war文件,而后再启动tomcat解压的操做是不同的 ,github
1)复制并重命名solr目录里的server/solr-webapp/webapp文件夹到/usr/local/tomcat8/webapps/solrweb
[admin@node21 software]$ sudo cp -r solr-7.4.0/server/solr-webapp/webapp /usr/local/tomcat8/webapps/solr
2)拷贝solr-7.4.0\server\lib\ext 下的jar包以及lib目录下gmetric4j-1.0.7.jar和metrics开头的jar包拷贝到 tomcat8\webapps\solr 项目的WEB-INF\lib下数据库
[admin@node21 software]$ sudo cp solr-7.4.0/server/lib/ext/* /usr/local/tomcat8/webapps/solr/WEB-INF/lib/ [admin@node21 software]$ sudo cp solr-7.4.0/server/lib/gmetric4j-1.0.7.jar /usr/local/tomcat8/webapps/solr/WEB-INF/lib/ [admin@node21 software]$ sudo cp solr-7.4.0/server/lib/metrics-* /usr/local/tomcat8/webapps/solr/WEB-INF/lib/
3)建立一个索引库solrhomeapache
拷贝solr-7.4.0\server 下的solr文件夹到其它非中文目录下,重命名为solrhome,我是创建到了/usr/local/tomcat8/solrhome下tomcat
[admin@node21 software]$ sudo cp -r solr-7.4.0/server/solr /usr/local/tomcat8/solrhome
4)关联solr及索引库solrhome,须要修改tomcat里solr工程的web.xml文件服务器
[admin@node21 software]$ sudo vi /usr/local/tomcat8/webapps/solr/WEB-INF/web.xml
找到以下代码,打开注释,修改本身的solrhome的路径/put/your/solr/home/here,个人是 /usr/local/tomcat8/solrhome 路径。
40 <!-- 41 <env-entry> 42 <env-entry-name>solr/home</env-entry-name> 43 <env-entry-value>/put/your/solr/home/here</env-entry-value> 44 <env-entry-type>java.lang.String</env-entry-type> 45 </env-entry> 46 -->
以下图:
而后到最下方,将这一段注释掉,否则会报403错误,完成后保存退出(solr4部署不用注释这个)
5)拷贝solr7.4.0\server\resources下的 log4j2.xml 到tomcat8/webapps/solr/WEB-INF\classes,若是WEB-INF下没有classes文件那么就建立一个classes文件夹
[admin@node21 tomcat8]$ sudo mkdir -p /usr/local/tomcat8/webapps/solr/WEB-INF/classes/
[admin@node21 tomcat8]$ sudo cp -r /opt/software/solr-7.4.0/server/resources/log4j2.xml /usr/local/tomcat8/webapps/solr/WEB-INF/classes/
6)修改tomcat的bin目录下catalina.bat脚本,增长solr.log.dir系统变量,指定solr日志记录存放地址。
[root@node21 solr]# vi /usr/local/tomcat8/bin/catalina.sh
JAVA_OPTS="$JAVA_OPTS -Dsolr.log.dir=/usr/local/tomcat8/solrhome/logs"
启动tomcat,访问须要完整路径,个人是http://node21:8080/solr/index.html
1)点击Core Admin,接着点击Add Core这项,建立的instanceDir和dataDir 需存在,报错以下。(Solr里面的core就像数据库里面的一个表,用来管理索引和相关配置。)
2)在索引库目录solrhome下建立new_core目录,拷贝配置文件到new_core目录下
[admin@node21 tomcat8]$ su root
[root@node21 tomcat8]$ mkdir /usr/local/tomcat8/solrhome/new_core [root@node21 solrhome]$ cp -r /usr/local/tomcat8/solrhome/configsets/sample_techproducts_configs/conf /usr/local/tomcat8/solrhome/new_core/
而后重启tomcat服务,从新建立core成功
项目地址:https://github.com/magese/ik-analyzer-solr7
内置的分词器不支持停用,扩展功能,ik中文分词器支持屏蔽关键词、新词汇的配置。下载地址:https://pan.baidu.com/s/1vxs98d440NSQIqjc50w1Rw,密码:9dbe
解压分词器安装包
[root@node21 software]# unzip ikanalyzer-solr6.5.zip [root@node21 software]# lsikanalyzer-solr5 ikanalyzer-solr6.5.zip [root@node21 software]# ls ikanalyzer-solr5/ ext.dic IKAnalyzer.cfg.xml ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar stopword.dic
1)将IK分词器 JAR 包拷贝到Tomcat8\webapps\solr\WEB-INF\lib下
[root@node21 ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar /usr/local/tomcat8/webapps/solr/WEB-INF/lib/
2)将词典 配置文件拷贝到 Tomcat8\webapps\solr\WEB-INF\classes下
[root@node21 ikanalyzer-solr5]# cp ext.dic IKAnalyzer.cfg.xml stopword.dic /usr/local/tomcat8/webapps/solr/WEB-INF/classes/
3)更改在Tomcat8\solr_h\solrhome\new_core\conf找到managed-schema
配置文件,末尾添加如下保存
[root@node21 ikanalyzer-solr5]# vi /usr/local/tomcat8/solrhome/new_core/conf/managed-schema
<!--IK中文分词器-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false"
class="org.wltea.analyzer.lucene.IKAnalyzer" />
<analyzer type="query" useSmart="true"
class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>
4)重启tomcat服务,测试
若是要关闭solr服务,直接关闭tomcat就能够了。
solr集群搭建参考:http://www.javashuo.com/article/p-svunygwj-e.html
最大限制用户进程数,我的电脑低配,因为系统须要更改设置
查看我的最大限制用户进程数 ulimit -u
[root@node21 software]# vi /etc/security/limits.conf
末尾添加以下两行信息,保存退出,从新登陆生效
* soft nproc 65535
* hard nproc 65535
或者根据官网的建议,在solr.in.sh中设置SOLR_ULIMIT_CHECKS=false 。
官方老版本solr整合tomcat安装过程参考: https://wiki.apache.org/solr/SolrTomcat