solr4.4 索引mysql数据库数据_solr4.4 索引mysql数据库数据(DataImport DIH QuickStart)

solr.home是/home/leroy/solrhome/solr

第一部分是对《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的数据。

Delta 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

关于DataImportHandler的具体使用方法,详见下文,如果你英文超级好,那看这个链接吧:http://wiki.apache.org/solr/DataImportHandler

大多数的应用程序将数据存储在关系数据库、xml文件中。对这样的数据进行搜索是很常见的应用。所谓的DataImportHandler提供一种可配置的方式向solr导入数据,可以一次全部导入,也可以增量导入。

概览

目标

能够读取关系数据库中的数据。

通过可配置的方式,能够将数据库中多列、多表的数据生成solr文档

能够通过solr文档更新solr

提供 通过配置文件就能够导入所有数据的能力

能够发现并处理 由insert、update带来的变化(我们假定在表中有一个叫做“last-modified的列”)

能够配置 “完全导入”和“增量导入”的时间

让读取xml文件,并建立索引成为可配置。

能够将 其他的数据源(例如:ftp,scp,etc)或者其他格式的文档(Json,csv)以插件的形式集成到项目中。

第三部分:配置过程

1、修改solrconfig.xml

data-config.xml

2、添加data-config.xml 或者复制solr-4.4.0/example/example-DIH/solr/db/conf/db-data-config.xml到solr.home目录下,并修改为data-config.xml

url="jdbc:mysql://localhost:3306/leroy_test"

user="root"

password=""/>

3、复制solr-4.4.0/dist/solr-dataimporthandler-4.4.0.jar和solr-4.4.0/dist/solr-dataimporthandler-extras-4.4.0.jar到tomcat/webapps/solr/WEB-INF/lib下,或者我们在上一篇当中在solrconfig.xml配置了solr.home中的lib,可以直接放到/home/leroy/solrhome/solr/lib当中。

注意:在schema.xml中,添加相应的字段,要注意

id

如果在数据库查询没有id,而在schema.xml中id属性required="true",添加所有将会失败。

具体的demo可以查看solr-4.4.0/example/example-DIH/下的配置文件,通过hsql数据库的例子:

This is a relational model of the same schema that Solr currently ships with. 我们使用这个例子来为我们的DataImportHandler建data-config.xml。 我们已经使用这个结构在HSQLDB上建立了一个数据库. 好,现在开始了, 跟着下面的步骤走:

solr-4.4.0/example/example-DIH/文件包含了一个完整的solrhome(里面的配置文件很齐全了)和一个RSS的例子。它也包含了一个hssqldb数据库的例子.

直接把你的solr.home指向solr-4.4.0/example/example-DIH/solr,等等

使用example-data-config目录下的solr目录作为你solrhome 具体查看

solr-4.4.0/example/

example-DIH/目录下的README.txt

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值