设为首页 收藏本站
查看: 1242|回复: 0

[经验分享] 通过Solr所提供的Dataimporthandler实现数据源的导入

[复制链接]

尚未签到

发表于 2017-12-19 15:58:48 | 显示全部楼层 |阅读模式
  如需要使用到Solr中的dataimporthandler增量导入功能,则还需要引入两个所依赖的jar包,在上一篇随笔中所提到的下载的Solr项目文件solr-4.10.3\dist目录下可以找到所依赖的两个jar包,即
DSC0000.png

  将这两个jar包复制到我们本地Solr服务器下的WEB-INF\lib目录下,同时需在索引库中的conf目录下,添加data-config.xml配置文件
DSC0001.png ,data-config.xml则是用来配置数据源,dataimport.properties则是记录生成索引库的时间,该文件会在索引库数据创建完毕后,自动生成。


完成以上两步后,还有非常重要的一步就是,将dataimport-handler处理器与data-config.xml相结合的配置
  在索引库中的conf目录下存有一个名为solrconfig.xml的配置文件,需要在该配置文件中添加以下配置文件
  

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

  

  从而在Solr可视化管理页面中的Dataimport菜单中可以看到如下效果
DSC0002.png

  接下来就是对data-config.xml文件与相匹配的schema.xml进行相应的配置,才能最终实现数据源的导入
  

data-config.xml  <?
xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>
  <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.10.32:2016:sxlib" user="TT" password="TT"/>
  <document>
  <entity  name="CIP_Book" transformer="ClobTransformer" pk="GID"
  

  query
="select cb.gid gid,  cb.gid bibGid,
  decode(cb.bib_name,
  null,
  '未知',
  regexp_replace(cb.bib_name, '[,|,|\|| | |\(|\)|\.|\[|\]|\+|-|!|\{|\}|^|~|\#|\?|:|;|&amp;|]', '')) bibName,
  decode(cb.author,
  null,
  '未知',
  regexp_replace(cb.author, '[,|,|\|| | |\(|\)|\.|\[|\]|\+|-|!|\{|\}|^|~|\#|\?|:|;|&amp;|]', '')) author,
  decode(cb.pub_name, null, '未知', cb.pub_name) pubName,
  ct.cre_date      updatetime
  from cip_bookinfo cb
  join cip_bookdetail ct on cb.gid = ct.bib_gid"
  

  >  
  

  <field column="gid" name="gid"/>  
  

  <field column="bibGid" name="bibGid"/>
  <field column="bibName" name="bibName"/>  
  <field column="author" name="author"/>  
  <field column="updatetime" name="updateTime"/>
  </entity>
  </document>
  
</dataConfig>
  

  在schema.xml中,Solr已经内置了很多field,但是为了符合开发需要,需要自定义符合自身需求的field,如在data-config.xml中,根据数据所查询出的书名、作者、出版社三个字段,那么在schema.xml则定义三个与之匹配的三个field,这样数据源的数据才能最终交予Solr进行管理
  

   <field name="bibName" type="text_ik" indexed="true" stored="true"/>  <field name="author" type="text_ik" indexed="true" stored="true"/>
  <field name="pubName" type="text_ik" indexed="true" stored="true"/>
  

  另外需要注意的是,根据数据源数据库的类型,导入对应的数据库依赖包。
  在Dataimport菜单页中点击Exceute,则会根据所配置好的数据源,实现数据导入
DSC0003.png

DSC0004.png

  数据导入完毕后,通过Query菜单页可实现对数据的查询功能
DSC0005.png

DSC0006.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425749-1-1.html 上篇帖子: solr环境安装及碰到的一些问题 下篇帖子: solr的搭建自定义域。指定域的类型为自定义的FieldType。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表