solr6.4.2全量与增量导入数据

1.导入jar包

将相应数据导入jar包放入solr项目的WEN-INF目录下的lib文件夹中:

solr-dataimporthandler-6.4.2.jar
solr-dataimporthandler-extras-6.4.2.jar

相关的jar包可以去solr安装包中找到。将数据库的jar包放入tomcatlib目录下:

mysql-connector-java-5.1.39.jar

2.修改配置文件

修改solr项目中solr/solrhome/core1/conf目录下的solrconfig.xml文件:

<requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
      <str name="config">solr-data-config.xml</str>
    </lst>
</requestHandler>

在相应目录下创建solr-data-config.xml文件,有此文件直接修改:

<?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
	<dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
	url="jdbc:mysql://192.168.10.135:3306/solrtest" user="root" password="root" batchSize="-1" >
	</dataSource>  
	<document>  
		<entity name="news" pk="id"  dataSource="source1"   
        	query="select * from  news"  
            	deltaImportQuery="select * from news where id='${dih.delta.id}'"  
            	deltaQuery="select * from news where updatetime> '${dataimporter.last_index_time}'">  
      			<field column="id" name="id"/>  
			<field column="title" name="title"/>  
			<field column="author" name="author"/>  
			<field column="date" name="date"/>  
			<field column="content" name="content"/>  
			<field column="url" name="url"/>
			<field column="vip" name="vip"/>
 		</entity>
	</document>
</dataConfig>


其中last_index_time为每次索引时自动记录的时间。

3.建立数据库导入索引

数据库建立的数据表news中必须有一个updatetimetimestamp类型的字段,并且设置它为自更新,default设置为CURRENT_TIMESTAMP,这样每次修改某条数据时他的updatetime时间会自动更新。

              全量更新索引(full-import)                                    增量更新索引(delta-import

 

增量索引时去掉clean选项防止把原有数据清空,这样后面增加数据或者修改数据只需要进行增量更新就可以了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值