(八) 通过jdbc对对solr进行数据的增量导入
2012-10-29 12:12
381 查看
接着上一节的内容,假如我们从mysql中导入进solr中的数据量比较大,所耗时比较长,如果每次都是进行完全导入,肯定是不好的做法,因此可以采取增量导入的方式,solr的相关配置如下所示:
在 schema.xml的域信息定义如下:
solrconfig.xml
db-data-config.xml 的配置如下:
与上一节相比,db-data-config.xml 文件的配置有所变化:
在最外层的entity节点里面新增了两个属性节点,deltaImportQuery 与deltaQuery, deltaImportQuery使用deltaQuery返回的文章id作为查询条件,然后进行增量导入。
dataimporter.last_index_time :存储在文件import.properties 中
在 schema.xml的域信息定义如下:
<field name="id" type="string" indexed="true" stored="true" required="true"/> <field name="title" type="text" indexed="true" stored="true"/> <field name="catname" type="string" stored="true"/>
solrconfig.xml
<requestHandler name="/import" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">db-data-config.xml</str> </lst> </requestHandler>
db-data-config.xml 的配置如下:
<dataConfig> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/blog" user="root" password="admin"/> <document> <entity name="article" query="select id,title,catid from article" deltaImportQuery="select id,title,catid from article where id='${dataimporter.delta.id}'" deltaQuery="select id from article where cdate> '${dataimporter.last_index_time}'"> <field column="id" name="id" /> <field column="title" name="title" /> <field column="title" name="suggest"/> <entity name="category" query="select catname from category where id=${article.catid}"> <field column="catname" name="catname"/> </entity> </entity> </document> </dataConfig>
与上一节相比,db-data-config.xml 文件的配置有所变化:
在最外层的entity节点里面新增了两个属性节点,deltaImportQuery 与deltaQuery, deltaImportQuery使用deltaQuery返回的文章id作为查询条件,然后进行增量导入。
dataimporter.last_index_time :存储在文件import.properties 中
#Sat Jun 16 19:30:20 CST 2012 last_index_time=2012-06-16 19\:30\:19 article.last_index_time=2012-06-16 19\:30\:19
dataimporter.delta.id:deltaImportQuery 返回的id
相关文章推荐
- Solr(搜索引擎服务)和MongoDB通过mongodb-connector进行数据同步的解决方案,以及遇到的各种坑的总结(针对solr-5.3.x版本),mongodb和solr实现实时增量索引
- (七) solr数据导入:通过JDBC从数据库导入数据
- 通过DIH工具增量将MySQL表中的数据导入Solr时,last_index_time小于当前时间8小时的问题
- solr增量导入数据
- Solr学习(五)DIH增量、定时导入并检索数据
- 通过jdbc的方式把excel表格中的数据导入数据库
- 测试必备技能系列1 :通过mysql命令进行脚本数据导入
- 2014-1-3_solr学习之(十一)solr3.5的DIH的增量索引和数据的条件导入
- solr全量导入/增量导入mysql的数据
- Solr学习 DIH增量、定时导入并检索数据
- Solr 5,5从Mysql全量、增量导入数据
- 通过工具SQLyog进行导入数据
- Solr学习 DIH增量、定时导入并检索数据
- solr 从数据库导入数据,全量索引和增量索引
- solr6.4.2全量与增量导入数据
- eXtremeDB通过JDBC从oracle中导入数据
- 测试必备技能系列1 :通过mysql命令进行脚本数据导入
- Solr学习(七)DIH增量导入数据之数据的删除
- 和solr的N天N夜(四)--增量、定时导入并检索数据
- Solr:数据导入(包括关系数据库的全导入和增量导入)