solr笔记 通过增量索引实现数据同步(三)
上面一章讲解了增量索引的基础配置
如果配置了增量的所需节点
增加一条数据 或者修改一条数据在执行下面命令看是否同步成功
使用http://192.168.0.9:8080/solr/collection1/dataimport?command=delta-import ip则为你的ip
如果不成功看看日志是否报错 再根据日志关键字 查询问题所在
别人的solr讲解参考http://www.cnblogs.com/davidwang456/p/4744415.html
这里讲解通过solr封装的定时器自动执行增量索引
下载http://pan.baidu.com/s/1eR914YY 封装好的定时器jar(c#类库)
将jar 复制到tomcat 根目录\webapps\solr\WEB-INF\lib 下面
在tomcat根目录\webapps\solr\WEB-INF下的web.xml servlet前面增加一个定时器基于上面的jar
<listener>
<listener-class> org.apache.solr.handler.dataimport.scheduler.ApplicationListener </listener-class>
</listener>
将下载jar中 dataimport.properties 取出,放入tomcat根目录\solr\conf,没有conf新建一个
################################################# # # # dataimport scheduler properties # # # ################################################# syncEnabled=1 #要定时的增量索引的核心,多核逗号隔开 collection1, collection2 syncCores= collection1 # 这个就不用说了,服务器地址 server=192.168.0.9 port=8080 webapp=solr # 增量索引执行的命令 params=/dataimport?command=delta-import&clean=false&commit=true #多长时间执行一次,默认单位分钟 interval=1 #下面的,是有人更改了该文件,新加的定时重建索引,原包是不带定时重建索引的,只有增量索引,官方的包是不支持下面三句话的,不需要可以删掉 reBuildIndexInterval=7200 reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true reBuildIndexBeginTime=03:10:00
重启tamcat 上面我设置的一分钟执行一次数据同步

观察这个 如果每分钟都在跳动 则调试定时器部署成功
如果数据同步不成功则得观察日志
有一点说明 记得在表中新增最后一次修改字段哦 然后每次修改 都该一下这个的时间
自定义词组
例:比如我商品表中有个叫木椅的商品 但是我搜索椅子发现木椅搜索不出来 原因是分词 把椅子 分成了椅子 而没有分词椅子 椅 这个时候我们就得定义分词椅也要分成一个词
将Tomcat根目录下webapps\solr\WEB-INF\lib 下的ext.dic stoword.dic 复制到tomcat根目录下\webapps\solr\WEB-INF的classes文件夹下面 (没有文件夹就新建)
添加这个节点 同时创建一个ext.dic名字的文件 格式为注意:ext.dic的编码必须是Encode in UTF-8 without BOM,否则自定义的词库不会被识别
就可以添加自己的词库了。重启tomcat
这个时候我们会发现 分词椅子 会分成 椅子 椅 子 我们不需要子 那么在这个文件夹新建stopword.dic 格式跟那个一样 然后加上子就行了
后面将讲解结合solrnet通过suggest搜索实现输入建议
和facet实现商品分类

以及高亮显示

浙公网安备 33010602011771号