在/opt目录下创建solr文件夹
将tomcat,solr4.4.0上传并解压
进入/opt/solr/solr-4.4.0/dist,找到solr.war
将solr.war文件复制到tomcat的/opt/solr/apache-tomcat-7.0.8/webapps目录下,
启动tomcat,解压solr.war,关闭tomcat,删除solr.war
将/opt/solr/solr-4.4.0/example/lib/ext下的所有的jar包复制到tomcat下solr的
/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/lib文件夹下。
将/opt/solr/solr-4.4.0/example/resources下的log4j.properties同样复制到tomcat下solr的
/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/lib文件夹下。
然后在/solr目录下创建solrHome文件夹
将/opt/solr/solr-4.4.0/example目录下的solr目录
以及/opt/solr/solr-4.4.0下的contrib和dist目录
复制到solrHome文件夹下。
找到/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF下的web.xml,
找到如下代码:修改标签
启动tomcat,访问http://192.168.1.24:8066/solr,会出现solr的管理界面
将/opt/solr/solr-4.4.0/dist下的solr-dataimporthandler-4.4.0.jar
solr-dataimporthandler-extras-4.4.0.jar
以及mysql数据库驱动包,mysql-connector-java-5.1.6(1).jar
放到tomcat下solr下的/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/lib目录下。
在solrHome下的/opt/solr/solrHome/solr/collection1/conf中solrConfig.xml中增加一下数据库
配置:
并将solrConfig.xml中的contrib和dist目录地址修改为自己的,
在/opt/solr/solrHome/solr/collection1/conf目录下增加data-config.xml文件,添加如下内容:
driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.1.24:3308/bootdo" user="root" password="123456"/> 此处我查的是用户表,将用户表进行了全局索引。 在/opt/solr/solrHome/solr/collection1/conf下的schema.xml中加入自己查询的字段: Id是唯一的,本来就有,不用添加。 在这里, 此处连接数据库就配置完成。 重启tomcat,访问solr。 在collection1下点击dataimport,点击excute进行导入. 然后在Query页面点击Excute Query就可以查询到我们导入的数据,也可以加条件查询。 将IKAnalyzer2012_FF.jar 和 IKAnalyzer2012FF_u1.jar复制到 /opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/lib目录下。 在/opt/solr/solrHome/solr/collection1/conf目录下的schema.xml中添加分词器的 配置: 添加两个字段进行分词测试: 如图所示,solr管理界面,选择Analysis,输入一段话,选择text_ik分词。 没有进行分词的效果: 将mysql中的数据导入到了solr中之后,如果数据库中的数据有变动,solr中还是第一次导入的旧的数据,这时候就需要实现实时重建索引和增量更新。 准备工作要做好: 1、下载jar包:solr-dataimportscheduler-1.1.jar http://pan.baidu.com/s/1hsySs2S 2、新建文件: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 # 修改成你所使用的core,我这里是我自定义的core:simple syncCores=simple # 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=8066 # application name/context # [defaults to current ServletContextListener's context (app) name] # 这里默认不改 webapp=solr # URL params [mandatory] # remainder of URL # 这里改成下面的形式,solr同步数据时请求的链接 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=7200 # 重做索引的参数 reBuildIndexParams=/select?qt=/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 准备好这一个jar包和dataimport.properties文件,开始下面的步骤…… 步骤一:将solr-dataimportscheduler-1.1.jar包复制到/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/lib中。 步骤二:在/opt/solr/apache-tomcat-7.0.8/webapps/solr/WEB-INF/目录下的web.xml文件中添加监听配置: org.apache.solr.handler.dataimport.scheduler.ApplicationListener 复制上面这段时注意org.apache.solr.handler.dataimport.scheduler.ApplicationListener后面不要有空格,不然启动tomcat会有奇怪的错误. 步骤三:在\solrhome目录下新建一个conf文件夹(与simple文件夹同目录),将dataimport.properties文件放在conf文件夹中。 步骤四:重启tomcat,访问solr管理界面: 我们查询一条数据:username:”linlinlin”,注意此时,查询到的name为”linlinlin123”, 和我们数据库中是一致的。 然后我们在数据中修改name为123,然后等待一分钟,查看solr查询界面是否改变。 可以看到查询结果已经发生改变。3:配置中文分词器
4:定时实时重建索引和增量更新