首页 > 代码库 > 解决Solr增量导入MySQL数据的问题

解决Solr增量导入MySQL数据的问题

步骤一:在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数据的问题