DIH中添加不同的数据源
需求:从mysql数据库中读取一个知识记录,从记录表中的字段值中获取一个文件路径,读取xml文件,xml文件中可能包含多个文档内容。建立索引。
xml文件样例:
<?xml version="1.0" encoding="utf-8"?>
<docs>
<data>
<id>1</id>
<title>测试数据</title>
<content>测试内容</content>
<crtime>2014-10-13 16:10:33</crtime>
<templateid>201</templateid>
<price>12.11</price>
</data>
<data>
<id>2</id>
<title>测试数据1</title>
<content>测试内容1</content>
<crtime>2014-10-12 16:10:33</crtime>
<templateid>202</templateid>
<price>20.11</price>
</data>
</docs>
mysql数据格式样例:
CREATE TABLE `gx_kmsindex` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`docid` BIGINT(20) COMMENT '知识ID',
`path` VARCHAR(200) DEFAULT NULL COMMENT '知识xml文件路径',
`templateid` VARCHAR(20) NOT NULL COMMENT '知识模板id',
`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`type` VARCHAR(20) NOT NULL COMMENT '知识操作类型,add/update/delete',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
当为新增、更新知识时,docid可以为空,当为删除知识时,docid为必填项。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAy8AAAAqCAIAAAA1avNJAAANzUlEQVR4nO1cTWscyRnuH7MfiZEOthNB+pDTEhALQYLsrhMTLNi4BXuIEPhizJosAiuHKLQPS2CxdoMPC5bX4INpHKH1IhRbaKxvS0hWh8XEGDY5xCMn986hu6uqq96qrpn+mJme5+HBjGuqut6Pfqufrm6N8+OffSBy//k/QdDAV2uXox++LsJXa5d77gUIgiAIWvL4H69e/ut1pXSgxsCO+GrtcnH23AsQBEEQ7B9CjYEgCIIgCPaSUGMgCIIgCIK9JNQYCIIgCIJgLwk1BoIgCIIg2EvKauyvAAAAAAAAQF2IoohQY+0yEE9QyqF6CzgCAIAKFJQBCE5jgFTWAJMa23jysAjbQgoLHqq3hCMgCKpEQSE4w0Aplf97eg0snTlqrLW+zPg7C4j9W+vLjalGOAKCoEoUFIIzDJRS+d+tz8DSmaPGnm6sMNqoMbH/042VxlQjHAFBUCUKCsEZBspqbOePYOnMUWNbrUeMsd6KNIi/FftvtR7R1bg0PeqM+1TK/QnH0XzVV+diOTb3Ig7lro99my8QrIf1CA5/wnGcCmqt4iWog+DoLQH7gVIq3+z/GSydOWpse3OV0UaNif23N1e7WKpmR/qxJs2OVGFzRXEodPFYmh6dmBuIfIFgPSQKiiqTUmhVa+XNXry06wwOWCllNXbw+ZvgV2MffPLm4HOwLOaosd2tNUYbNSb2391aU6uRvslbGI9bnYm5/ry6E8sKafPS9GjSemZ2iQ2fm0wbJyfG4/ZexUFyZHbEcUamU2OcyYWk272ZM0nTyLRsW2ph3D47Mj45oboMgkNBeWXQlAkvqKRM2JoQF3vSrqvHmNKaYF+kyuwPN2pZgiyDo1hCB0fnCFgDpVSefvHzTCo/nDk9upU0nr0gfp4/6zhnL3zzYdJx6otbp0e3To9u7Vx9Kx381vzfksYhZ44a29t5zGijxsT+ezuPdTsxmToX9qj79smX7Aht89wkWyOEDrMj6aq6ND2aXUTqj4OSkblJviwK9i/MxbPfmzkzOrPILST2xtLhC+MO7nrBIaPV9s/S9CgTTOxzWu+zI87ozOLGwvjozKK2Hp883FA3qyyLlJydPGbZS1BHe2OkJZngGB0BK6Wsxp7fPl2+OPbRldPnt0V+89Hb88vS5ytTjuMkPa9MOW/PL98+Xb44dvZiMkr8PNzMUWP7u+uMNmpM7L+/u26jxu7NnBFuAecmB0GN0TYn62nWL+POfP1xoNSYMFHqgnAP6uSpMeGOFusjOGS0ERxiNfF9nbRbUkFcjRH1GFO7N2YsUnp26pilL0GF1JgSHLMjYKWUUtkO77RXLo1duNoO72TIGvm3V6ec9+6yDrfeG7t2c/vaO9lUvjO/ckc+1BDSrMYO9luMNmpM7H+w34IaGwA1Jkoodg/KZhedghoDwSytBEd2ZZC6yWpMrcf0v7p9rJwiJWenjtnnaszsCFgpZTX2/f32dx+P/fp6+/v7EufPvTv/3f3tT9+d+jJuuT517mPe4ctfjH36l+RfZeyw06zGDg82GW3UmNj/8GDT9kklq8+F8YF5UknYnFlJmY+zI5l3NUzLa/VxIJ9UMpP8icxd+wZ7UsAsTBycm0xfaoEaA4eZtOCQy4RSNtq9MaUe0yG65SKvSE26qtIlyC44JktMG4dgjZTV2IugveqNnfPaL4L2i8+mHGfqq6D9Imi/CNpfjY9d96aSr5Jvx64vxv+9+5sfza/GjeN3X6RDwJhmNXZ0uM1oo8bE/keH2/RbSspWM3tr1XHGR0eEl1L7hvo/R8jYrH12wFr5GyG9iQO5NzY7IpnHLRkdOeMIiyZvn1nk/x2Z5h7h1TFwmEjecEplsvFEeoF93E/rZXRmMX5zP+4wuUDWY85yYS5Savb8Y5ayBNkFR7VEFxzSEbAOSql8/fLb1y+/XbqYZOKnf7gdt8S8cV5smZ86/8mN82nSLs4n7bffF1L5/pIwfGiZo8aOj/YYbX79Vex/fLTXmF//a64j2NACwe5Z9srQqHpszLIJymrs1d8NvHH+l0v8v3+aOv97c38wZo4aOzl+xmijxsT+J8fPGlONTXWE3YVLf0sPgqANy10ZGlaPjVk2QSmV//mhRfHmJbbb9dubceONnyQNl74mh4CcOWosPDkswsZUIxwBQVAlCgrBGQbKauzfe2DpzFFjxcFSOOiAIwAAqEBBGYDgNAZIZQ3QqjEAAAAAAACgHlSrxnR/hjlYePDgQa9NKAeNcQQA+gEoKAMQnMYAqawBcZArfFLZawfLQWPOxcY4AgD9ABSUAQhOY4BU1gCTGivl1b9eO1gOGnMuNsYRAOgHoKAMQHAaA6SyBpjUWGt9mdHmFy7E/q31ZaixPkRjHAGAfgAKygAEpzFAKmuASY093VhhtFFjYv+nGytQY32IxjgCAP0AFJQBCE5jgFTWAJMa22o9Yoz1lu4o8bdi/63Wo8FUY4GX/F6d64e8taJz0XddP4x8l88Xf3ZcP/ngeEHIP3LrRPvIxiiKQt91fWlGwRHBU9/LDNQh8Bwv4EY6rh/wj0VjYT17xALi0FYHXhwsI0Lfze3Tac9+AIuScFZYhIM8UDfDOji83cFJO0o0Lo1Tl0ejC0o4Lanj0z2bhwLBIdIR+q5Fmujh1lnuh9kzUeKrXf7pUnB2EyyvgFVXa7NhUmPbm6uMNmpM7L+9uTqIaoxfeANPVBhVqLEw1mLxZK7rpdMFnhfEX/MTOPC4MeLnyNgY8RlSpI4EHquP0HftLgvC0TLTiYZWB8mX0Hc9Tysi6zEpg7DYnAWHpxCjJBwy8Lq48JMmVWCnRWdiynJT3PXR2MpALh1cyQf8XNUtMs1D18Gh0hF4rp+bJnI4OZH98Jpnj3uKUbIslYKzm2F/BayhWpsKkxrb3VpjtFFjYv/drbVBVGMCMoKjfDWW2bgKPC9gxeJ7fjo/cV1lak22ljrb1Q2IxBF9Zca3YuQMjmgDqcb4fZznpo3CvZ0g5jJba6bhOk981wskDcpuLL0g+VbYGvJdboB6sxgrUteV7NTcVqp2ZjeihDWVcFPc2pMtl2YjdgE1oaOipOj5UJMOTeTT8Yl1rm9vZyzwhYREGSh2ygEhsqlvVJF04+eAF2hPhhjF1Vhm+tQR4bAd3EQ1Bl0HR01HfDJapknqlpeFnOEVza5dabM9dWpMN7yg7zqwVJZfrUAKkxrb23nMaKPGxP57O48HWo1JWwClq7HMZkXIpEVIb42J/+lkx0LdEokdMWxw6Io8q99oNcb7sK03UXRmn5wGXnpFTIcRw+nZRaGQtoeZG0s+u+MFUeS7juuH0lGkGPA5aeVHGSPaqU+B5GYUBEyWaQQ3G0p4Rx+TihJxCmnSYfYo9L2MbrOyU3w6IZ+GcjbVgBizKR2dROi78dWCJ7OTk8Ee6sogRkg8rO4a32B0HRw5MOm5WlgPWR2hntkNakxa79XbH8Pwgr7rwFNZQbUCMUxqbH93ndFGjYn993fXB1eNsaWcoWw1lr0+pReGRJSpaky8cpDbWpq9ri7UGA15gGZvLLMBkYzL7KY4Rj+U4ZrZhQZhy0fokl6C01ZFu2XNlu3Ju1Mn7dSqMdlN+kUQdXh2pPg9nW1DlNL/aNOh9yje5TLMorEzK2m1G710QMhs0inWI5R2Dzs5GewhrQzS0mG4FqqLTPPQdXB0tUltw8uVZD4au8OwH07MbkRBPaQ/MazetaxajVVUrUBkVmMH+y1GGzUm9j/Ybw2oGgs84p30ktVYdquDnbih73p+shGhu35lXgYSdrPVxsjw3liH7xAo3fPeG2P7LvqJTCbIu2hyz8xS6vpRzWqMtNNSjYmpN2qUTtUYKftkQZ+bd8kjRRh3oMayDzIywc0LSCnre+A5ruvWqcbUpUP3nIhcZJqH7oITEZJCrnczyn1SWefs5hOji429kp9UVlatQGRWY4cHm4w2akzsf3iwOYhqTPd3M+WrMVJthHx+8hmc3K5e1iXhppeVolATa4XYAKeOk3kAxDekhTvXZIi2DgmFRwynZpcL3fVDWa04FaqxXDszz1l1z1gj9shMO1wreQlNReWIEnBkOvQeeUEkvWlua2d8WVEUmDGbPCDGbGYa02NIJ61gnLBPW6UaI5cO/pBXeNxr9cd5jUAXwUn70wHqbnfKMJHN8IpmV09aKkrZ1wAsXjsr6LsOXI0VrlZAB5MaOzrcZrRRY2L/o8PtwVNj8vY1P4GqU2NszngyLpK4MWqL8IX+WSB54eWOaN5HIC9s9KYPMSEVO7U5lO42ladlGTWjSEOhRzom3vfho13XcVw3ffs8TB63Je8vSO+ii1H0+Lv/XiCZlFqqcVONCO2m0M3NhFoNKPFMU39MYhkXoU7DW0mP0pc9lD9ksLIziv8GjTgoKQbVgCjZ9HWNkXLSqtl0fd/+ZOgIwp4BFe78Km7yVarj4EgbUWR5GTd46OHURB0Mr2Z2eaXtJErE8MK+m8EuHMWrFdDBpMaOj/YYbX79Vex/fLQ3eGpMj2rfG6sC1GZJ1IUjmuPUhN7OPijoxyhRj0X60c6iwK9iGoDgNAZIZQ0wqbGT42eMNmpM7H9y/AxqzICqH6TrfqQGRQXUAP6DGQ3e+YmiCAVlBILTGCCVNcCkxsKTwyKEGutDNMYRAOgHoKAMQHAaA6SyBpjUWHFAjfUbGuMIAPQDUFAGIDiNAVJZA7RqrCw8AAAAAABgYOEAtSCKov8DwSfZrjSat94AAAAASUVORK5CYII=" alt="" />
处理方案:
1、schema.xml中配置field:
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="title" type="text_ik" indexed="true" stored="true" termVectors="true"/>
<field name="content" type="text_ik" indexed="true" stored="true" termVectors="true"/> <field name="crtime" type="date" indexed="true" stored="true" />
<field name="templateid" type="string" indexed="true" stored="true" />
<field name="price" type="double" indexed="true" stored="true" />
2、solrconfig.xml中配置handler:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-data-config.xml</str>
</lst>
</requestHandler>
3、配置mysql-data-config.xml
<dataConfig>
<dataSource name="jdbc" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
batchSize="-1" url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8"
user="root" password="root" />
<dataSource name="file" type="FileDataSource" encoding="utf-8" />
<document>
<entity name="kms" dataSource="jdbc"
query="SELECT path FROM gx_kmsindex ORDER BY TIME ASC" transformer="DateFormatTransformer">
<entity dataSource="file" name="xml" url="${kms.path}"
processor="XPathEntityProcessor" forEach="/docs/data/" transformer="DateFormatTransformer">
<field column="id" xpath="/docs/data/id" />
<field column="title" xpath="/docs/data/title" />
<field column="content" xpath="/docs/data/content" />
<field column="crtime" xpath="/docs/data/crtime"
dateTimeFormat="yyyy-MM-dd HH:mm:ss" />
<field column="templateid" xpath="/docs/data/templateid" />
<field column="price" xpath="/docs/data/price" />
</entity>
</entity>
</document>
</dataConfig>
4、在后台建立索引,发现只抽取了一条数据记录。
aaarticlea/png;base64,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" alt="" />
按照道理,应该两条数据都能抽取。经过排查,是rootEntity属性的问题。在kms实体中,没有设置rootEntity属性,默认为true的。这样就把gx_kmsindex当作了根实体,
rootEntity="true" 表示它的文档会被Solr索引。如果rootEntity属性被显式地设置为false,那么DIH会反向查找,直到找到一个实体配置没有设置为false的。可以有子实体(sub-entities),它通常为每个父文档执行一次,并通常由父文档引用来缩小查找范围。子实体的文档会合并到根实体的文档中,如果多个子实体对相同的域产生了多个文档,那么根实体会产生一个多值域。
这里kms实体的rootEntity属性应该设置为“false”。xml实体才是用于索引的数据实体。所以xml实体rootEntity属性为true。这里采用默认属性值即可。修改后的mysql-data-config.xml:
<dataConfig>
<dataSource name="jdbc" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" batchSize="-1"
url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8" user="root" password="root"/>
<dataSource name="file" type="FileDataSource" encoding="utf-8" />
<document>
<entity name="kms" dataSource="jdbc" query="SELECT path FROM gx_kmsindex ORDER BY TIME ASC"
transformer="DateFormatTransformer" rootEntity="false">
<entity dataSource="file" name="xml" url="${kms.path}" processor="XPathEntityProcessor"
forEach="/docs/data/" transformer="DateFormatTransformer" >
<field column="id" xpath="/docs/data/id" />
<field column="title" xpath="/docs/data/title" />
<field column="content" xpath="/docs/data/content" />
<field column="crtime" xpath="/docs/data/crtime" dateTimeFormat="yyyy-MM-dd HH:mm:ss"/>
<field column="templateid" xpath="/docs/data/templateid" />
<field column="price" xpath="/docs/data/price" />
</entity>
</entity>
</document>
</dataConfig>
5、修改后,重新建立索引:
aaarticlea/png;base64,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" alt="" />
DIH中添加不同的数据源的更多相关文章
- [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则
目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...
- DataGridView 中添加CheckBox和常用处理方式 .
DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...
- 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数
开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...
- extjs在窗体中添加搜索框
在extjs中添加搜索框,搜索框代码如下: this.searchField = new Ext.ux.form.SearchField({ store : this.store ...
- 关于32位程序在Win7&64位系统中连接Microsoft Excel数据源的问题
最近在新公司电脑上跑以前的selenium测试框架的时候,抛出了如下的错误 出现的是ODBC Driver问题:[Microsoft][ODBC Driver Manager] Data source ...
- 怎样在UICollectionView中添加Header和footer
---恢复内容开始--- 怎样在UICollectionView中添加Header和footer 转载于http://my.oschina.net/zboy/blog/221525 摘要 来自-htt ...
- 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】
Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...
- spring 中连接多个数据源
http://www.ityouknow.com/springboot/2016/08/20/springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD% ...
- Asp.net MVC]Asp.net MVC5系列——在模型中添加
目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...
随机推荐
- cocos2d-x 3.2读取xml和json练习
读取和生成xml文件: #include "tinyxml2/tinyxml2.h" using namespace tinyxml2; void HelloWorld::make ...
- 微软IOC容器Unity简单代码示例2-配置文件方式
@(编程) 1. 通过Nuget下载Unity 这个就不介绍了 2. 接口代码 namespace UnityDemo { interface ILogIn { void Login(); } } n ...
- socket的异步回调函数,采用一问一答
socket.Send(buf); AsyncCallback callback = new AsyncCallback(ReceiveData5); mysocket.BeginReceive(Wi ...
- 解决WebService 中泛型接口不能序列化问题
本来要定义WebServices 方法返回一泛型接口集合IList,系统提示不能序列化泛型接口集合 1 [WebMethod] 2 public IList<Employ ...
- js 对象与函数的区别
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- wikioi 1083 Cantor表
题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 - 2/1 2/ ...
- php中curl不支持https的解决办法
在php程序中使用curl去访问https站点时,报错:Protocol https not supported or disabled in libcurl 该错误信息表示php当时编译时使用的cu ...
- STM32 DFU -- Device Firmware Upgrade
DFU Class Requests Get Status The Host employs the DFU_GETSTATUS request to facilitate synchronizati ...
- MySQL 多会话之间更新数据的小实例
1:创建一个实验表 mysql> use test; mysql> CREATE TABLE t -> (id int(11) NOT NULL DEFAULT 0, -> n ...
- Codeforces Round #188 (Div. 1) B. Ants 暴力
B. Ants Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/317/problem/B Des ...