今年solr出了不少漏洞,一直在升级维护,记录下linux部署solr步骤,话不多说,一个字:开干!
- 第一步:下载链接:http://archive.apache.org/dist/lucene/solr/
- * 要注意的jdk版本和tomcat版本
- 在solr7就建议安装环境的jdk是 jdk1.8 或者更高,建议tomcat是tomcat8.0或者更高
- 第二步:下载solr.tar.gz,并解压在原来老版本solr目录的同级
- 第三步:复制server/solr-webapp/webapp到tomcat中的webapps下重命名为solr
- 第四步:将server/solr复制到tomcat中的webapps中的solr下重名为solrhome
- 第五步:复制solr中的jar到tomcat的webapps/solr/WEB-INF/lib中
- 除了j开头的所有jar包括ext下的所有jar(别忘了把数据驱动包也放进去)
- 第六步:将solr/server/resources/log4j2.xml复制到tomcat中webapps/solr/WEB-INF/classes中
- 第七步:在tomcat中webapps/solr/WEB-INF/web.xml修改solrhome位置和注释掉权限管理,如果不注释的花会产生403错误。
- 第八步:再将solr/dist和contrib复制到solrshome中
- 第九步:启动tomcat访问路径:localhost:8080/solr/index.html
到这里就部署成功了
配置中文分词器 IK-Analyzer-Solr7
分词器GitHub源码地址:https://github.com/magese/ik-analyzer-solr
根据使用说明来即可
solr定时重建索引和增量更新
需要用到一个包solr-dataimporthandler-scheduler-6.1.0.jar
复制到新版本中solr中的lib中
修改solr/WEB-INF/web.xml, 在servlet节点前面增加:
<listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>
- 在webapps/solr/solrhome下新建conf/dataimport.properties
dataimport.properties 配置项说明
#################################################
# #
# dataimport scheduler properties #
# #
#################################################
# to sync or not to sync
# 1 - active; anything else - inactive
syncEnabled=1
# which cores to schedule
# in a multi-core environment you can decide which cores you want syncronized
# leave empty or comment it out if using single-core deployment
syncCores=core01,core02
# solr server name or IP address
# [defaults to localhost if empty]
server=localhost
# solr server port
# [defaults to 80 if empty]
port=8080
# application name/context
# [defaults to current ServletContextListener's context (app) name]
webapp=solr
# URL params [mandatory]
# remainder of URL
params=/dataimport?command=delta-import&clean=false&commit=true
# schedule interval
# number of minutes between two runs
# [defaults to 30 if empty]
interval=1
# 重做索引的时间间隔,单位分钟,默认7200,即5天;
# 为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=180
# 重做索引的参数
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true&wt=json
# 重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;
# 两种格式:2012-04-11 03:10:00 或者 03:10:00,后一种会自动补全日期部分为服务启动时的日期
reBuildIndexBeginTime=03:00:00