设为首页 收藏本站
查看: 536|回复: 0

[经验分享] 跟益达学Solr5之增量索引MySQL数据库表数据

[复制链接]

尚未签到

发表于 2016-10-23 04:38:38 | 显示全部楼层 |阅读模式
  Solr5中如何增量索引MySQL数据库表中的数据,这个问题之前有某个童鞋问过我,今天午休时间就腾空更新篇博客,希望能帮助到你们。
  为了测试方便,我首先从京东网站弄了点测试数据,如图:
DSC0000.png
   这里要声明下,我不是在给京东商城打广告哈,仅仅是随便找个网站弄点测试数据,这部分工作全是我无聊手动插入MySQL数据库中的,如图:
DSC0001.png
 建表SQL以及测试数据,我待会儿会上传到底下的附件里。然后你需要在solrconfig.xml配置文件中启用全量导入和增量导入请求处理器,如图:
DSC0002.png
 然后分别配置你的data-config.xml和delta-data-config.xml配置文件,具体配置如图:
DSC0003.png
  

<dataConfig>
<dataSource name="jdbcDataSource" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8" user="root" password="1234"/>
<document name="mobile-doc">
<entity dataSource="jdbcDataSource" name="mobile"  query="select * from mobile">
<field column="id" name="id"/>
<field column="pname" name="productName"/>
<field column="price" name="price"/>
<field column="color" name="color"/>
<field column="brand" name="brand"/>
<field column="wlan" name="wlan"/>
</entity>
</document>
</dataConfig>
  
  
DSC0004.png
 

<dataConfig>
<dataSource name="jdbcDataSource" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8" user="root" password="1234"/>
<document name="mobile-doc">
<entity dataSource="jdbcDataSource" name="mobile"  
query="select * from mobile"
deltaImportQuery="select * from mobile where id= ${dih.delta.id}"
deltaQuery="select id from mobile where last_update_time &gt; '${dih.last_index_time}'">
<field column="id" name="id"/>
<field column="pname" name="productName"/>
<field column="price" name="price"/>
<field column="color" name="color"/>
<field column="brand" name="brand"/>
<field column="wlan" name="wlan"/>
</entity>
</document>
</dataConfig>
  query:表示一个查询SQL,根据你提供的查询SQL来做全量导入的
  
  deltaQuery:表示一个查询SQL语句,会根据主键id去查询这条数据,根据比对最后一次更新时间,如果最后一次更新时间大于deltaimport.properties配置文件中记录的last_index_time时间,那表示该数据更新过了,需要做增量导入,每次不管是全量导入还是增量导入,deltaimport.properties配置文件中的last_index_time时间都会更新,deltaimport.properties配置文件若不存在也会自动创建,不需要你手动创建。
  deltaImportQuery:表示一个SQL语句,即如何去加载当前数据,一般是根据主键id去查询。
  然后你需要配置下schema.xml定义一些域,如图:
DSC0005.png
 

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="productName" type="text_ik" indexed="true" stored="true" omitNorms="true" multiValued="false"/>
<field name="price" type="double" indexed="true" stored="true" />
<field name="color" type="string" indexed="true" stored="true" sortMissingLast="true"/>
<field name="brand" type="string" indexed="true" stored="true" sortMissingLast="true"/>
<field name="wlan" type="text_ik" indexed="true" stored="true" />

<uniqueKey>id</uniqueKey>
  最后重启你的Tomcat开始测试,如图:
  
  先做次全量导入
DSC0006.png
 全量导入成功后,请手动往数据库表里添加一条测试数据用于增量索引测试,如图:
DSC0007.png
 然后请切换到增量导入,如图:
DSC0008.png
 
接着看图:
DSC0009.png
     OK,大功告成,如果你在实践过程中出现任何问题,请联系我,solr_home整个目录以及测试数据库SQL我都会打包上传到底下的附件里,供你们参考。lib目录下依赖的jar我没上传,因为Jar包体积太大,ITeye上传不了,如果你找不到jar包,请参阅我的这篇博客
  《跟益达学Solr5之索引文件夹下所有文件》,在那篇博客里有提供jar包的百度网盘下载地址,特此提醒!!!
  
  如果你还有什么问题请加我Q-Q:7-3-6-0-3-1-3-0-5,
或者加裙
DSC00010.jpg 一起交流学习!
  
 
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-289891-1-1.html 上篇帖子: 网站架构文章和MySQL在国际知名网站中的使用量 下篇帖子: Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表