上篇文章中讲了如何下载solr、安装solr、启动、增加中文分词器、简单查询等传送门,这篇文章我们来配置solr定时全量和增量同步mysql数据。
1、先看数据库表
2、打开E:\solrHome\core1\conf文件夹下的data-config.xml文件,这个文件中主要配置数据源等信息,内容如下
query="select id,name,catalog,catalog_name,price,description,picture from products where isdelete = 1"
deltaQuery="select id from products where createTime > '${dataimporter.last_index_time}'"
deletedPkQuery="select id from products where isdelete = 0"
deltaImportQuery="select id,name,catalog,catalog_name,price,description,picture from products where id = '${dataimporter.delta.id}'"
>
3、在solrHome文件夹下新建文件夹conf,将E:\solrHome\core1\conf下的dataimport.properties文件复制到solrHome
目录中的conf下(注意不是core1下的conf文件夹),将里面内容清空,重新配置如下:
# 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
# 修改成你所使用的core,我这里是我自定义的core1
syncCores=core1
# solr server name or IP address
# [defaults to localhost if empty]
# 这个一般都是localhost不会变
server=localhost
# solr server port
# [defaults to 80 if empty]
# 安装solr的tomcat端口,如果你使用的是默认的端口,就不用改了,否则你懂的
port=18080
# 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
# [defaults to 30 if empty]
# 这里是设置定时任务的,单位是分钟,也就是多长时间你检测一次数据同步,根据项目需求修改
# 开始测试的时候为了方便看到效果,时间可以设置短一点,我这是60秒
interval=1
# 重做索引的时间间隔,单位分钟,默认7200,即5天;
# 为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=7200
# 重做索引的参数
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true
# 重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;
# 两种格式:2012-04-11 03:10:00 或者 03:10:00,后一种会自动补全日期部分为服务启动时的日期
reBuildIndexBeginTime=03:10:00
4、将solr下dist目录中的solr-dataimporthandler-5.5.4.jar和solr-dataimporthandler-extras-5.5.4.jar两个jar包复制到
tomcat\webapps\solr\WEB-INF\lib中,同时在网上下载apache-solr-dataimportscheduler-1.0.jar下载,下载后同样将jar包
放到tomcat\webapps\solr\WEB-INF\lib中。
5、更改tomcat\webapps\solr\WEB-INF下的web.xml文件,新增监听如下:
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
6、重启tomcat启动solr就可以了。大家一起相互学习,相互进步.