|
解决Solr增量导入MySQL数据的问题
有时Solr的deltaQuery不能工作,这时只需稍微修改全库导入的配置文件,编写一个新的requestHandler即可,在使用的时候依然使用full-import命令
步骤一:在solrconfig.xml中插入一个新的requestHandler,增加如下几行- <requestHandler name="/dataimportcommentdelta" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config-comment-delta.xml</str>
- </lst>
- </requestHandler>
复制代码 步骤二:编写data-config-comment-delta.xml,写入如下内容,注意query中的条件,dih.last_index_time,表示solr上一次做索引的时间。Solr执行这个配置的full-import实际上就等价于增量导入数据- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/mooc"
- user="root"
- password="root"/>
- <document>
- <entity name="comment"
- query="SELECT id, DATE_FORMAT(writetime, '%Y-%m-%dT%TZ') as 'writetime', title from comment WHERE DATE(updatetime) > '${dih.last_index_time}' OR DATE(writetime) > '${dih.last_index_time}">
- <field column="id" name="id"/>
- <field column="writetime" name="writetime"/>
- <field column="title" name="title"/>
- </entity>
- </document>
- </dataConfig>
复制代码 解决Solr增量导入MySQL数据的问题
摘自:http://my.oschina.net/u/2242064/blog/346215
|
|