solr mysql增量导入_Apache Solr 实践(二)数据库增量导入

之前将Solr的基础环境搭建了起来。今天配置一下数据库的增量导入。实现步骤wiki上面写的已经很清楚,主要注意两点,一是索引的中文分词,二是自定义字段。solr自带的schema.xml中已经配置了常用字段,遇不包含字段需要定义。依wiki,实现solr索引定时增量导入大致需五步。

第一步,配置requesthandler于solrconfig.xml内容如下

class="org.apache.solr.handler.dataimport.DataImportHandler">

./data-config.xml

用到的jar包solr-dataimporthandler-4.3.0.jar位于solr-4.3.0\dist,需要拷贝到tomcat/webapps/lib下。

第二步,编写data-config.xml和dataimport.properties。solr发布包中随带了一个demo位于solr-4.3.0\example\example-DIH\solr\db\conf直接拿来稍作修改

url="jdbc:mysql://localhost:3306/solr_import" user="root" password="admin"/>

deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'">

query="select DESCRIPTION from FEATURE where ITEM_ID='${item.ID}'"

deltaQuery="select ITEM_ID from FEATURE

where last_modified > '${dataimporter.last_index_time}'"

parentDeltaQuery="select ID from item where ID=${feature.ITEM_ID}">

query="select CATEGORY_ID from item_category where ITEM_ID='${item.ID}'"

deltaQuery="select ITEM_ID, CATEGORY_ID from

item_category where last_modified > '${dataimporter.last_index_time}'"

parentDeltaQuery="select ID from item where ID=${item_category.ITEM_ID}">

query="select DESCRIPTION from category where ID = '${item_category.CATEGORY_ID}'"

deltaQuery="select ID from category where last_modified > '${dataimporter.last_index_time}'"

parentDeltaQuery="select ITEM_ID, CATEGORY_ID

from item_category where CATEGORY_ID=${category.ID}">

#Fri Jan 17 11:44:56 CST 2014

interval=1

port=80

server=localhost

params=/dataimport?command\=delta-import&clean\=false&commit\=true

webapp=solr

reBuildIndexInterval=2

dataimporter.last_index_time=1914-01-14 17\:40\:00

syncEnabled=1

last_index_time=2014-01-17 11\:44\:55

item.last_index_time=2014-01-17 11\:44\:55

reBuildIndexParams=/dataimport?command\=full-import&clean\=true&commit\=true

reBuildIndexBeginTime=03\:10\:00

syncCores=collection1

第三步,修改schema.xml支持中文分词。data-config.xml中filed引用schema.xml中的filedType,而schema.xml中name,manu等字段类行为text_general,需要改为之前配置的text_zh.

第四步建数据库,数据库脚本也都是现成的,位于solr-4.3.0\example\example-DIH\hsqldb\ex.script。demo是基于sqldb的,稍作修改即可用于mysql。将数据库驱动拷到lib。insert N笔数据(中文)作为测试。

第五步,建索引。依次打开solr控制台-——>dataimport,command首次选full-import,勾选commit,Entity选择item——>execute。

索引结果如何?在solr控制台左侧选择Query,q填写name:关键字,execute query。效果如图

a7212010f866aa35530d9fd179ba5bc2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值