solr4.4 索引mysql数据库数据(DataImport DIH QuickStart).pdf
文本预览下载声明
洋洋洋洋的的专专栏栏
ssoollrr44..44 索索引引mmyyssqqll数数据据库库数数据据 ((DDaattaaIImmppoorrtt DDIIHH QQuuiicckk ttaarrtt))
分类: olrLucene 2013-12-19 16:08 181人阅读 评论 (0) 收藏 举报
solr.home是/home/leroy/solrhome/solr
官方文档:http://wiki.apache .org/solr/ DataImport Handle r#Ov e rv iew
http://wiki.apache .org/solr/ DIHQuickStart(eas de mo)
第第一一部部分分是是对对 《《db-data-config.xml》》
query是获取全部数据的SQL
deltaImportQuery是获取增量数据时使用的SQL
deltaQuery是获取pk的SQL
parentDeltaQuery是获取父Entity的pk的SQL
Full Import工工作作原原理理:
执行本Entity的Query,获取所有数据;
针对每个行数据Row,获取pk,组装子Entity的Query ;
执行子Entity的Query,获取子Entity的数据。
De lta Import工工作作原原理理:
查找子Entity,直到没有为止;
执行Entity的deltaQuery,获取变化数据的pk;
合并子Entity parentDeltaQuery得到的pk;
针对每一个pk Row,组装父Entity的parentDeltaQuery ;
执行parentDeltaQuery,获取父Entity的pk;
执行deltaImportQuery,获取自身的数据;
如果没有deltaImportQuery,就组装Query
限限制制:
子Entity的query必须引用父Entity的pk
子Entity的parentDeltaQuery必须引用自己的pk
子Entity的parentDeltaQuery必须返回父Entity的pk
deltaImportQuery引用的必须是自己的pk
第第二二部部分分是是DataImportHandler 1
第第二二部部分分是是DataImportHandler
关于DataImportHandler的具体使用方法,详见下文,如果你英文超级好,那看这个链接吧:
http://wiki.apache.or /solr/ DataImportHandler
大多数的应用程序将数据存储在关系数据库、xml文件中。对这样的数据进行搜索是很常见的应
用。所谓的DataImportHandler提供一种可配置的方式向solr导入数据,可以一次全部导入,也可以
增量导入。
概概览览
目目标
能够读取关系数据库中的数据。
通过可配置的方式,能够将数据库中多列、多表的数据生成solr文档
能够通过solr文档更新solr
提供 通过配置文件就能够导入所有数据的能力
能够发现并处理 由insert、update带来的变化 (我们假定在表中有一个叫做“last-modified的
列”)
能够配置 “完全导入”和“增量导入”的时间
让读取xml文件,并建立索引成为可配置。
能够将 其他的数据源 (例如:ftp,scp,etc)或者其他格式的文档 (Json,csv)以插件的形
式集成到项 目中。
第第三三部部分分::配配置置过过程程
1、修改solrconfi .xml
[html] view plaincopy
1. requestHandler name=/dataimport class=org .apache.solr.handler.dataimp
ort .DataImportHandler
2. lst name=defaults
3. str name=configdata-config
显示全部