如需要使用到Solr中的dataimporthandler增量导入功能,则还需要引入两个所依赖的jar包,在上一篇随笔中所提到的下载的Solr项目文件solr-4.10.3\dist目录下可以找到所依赖的两个jar包,即

将这两个jar包复制到我们本地Solr服务器下的WEB-INF\lib目录下,同时需在索引库中的conf目录下,添加data-config.xml配置文件

,data-config.xml则是用来配置数据源,dataimport.properties则是记录生成索引库的时间,该文件会在索引库数据创建完毕后,自动生成。

完成以上两步后,还有非常重要的一步就是,将dataimport-handler处理器与data-config.xml相结合的配置

  在索引库中的conf目录下存有一个名为solrconfig.xml的配置文件,需要在该配置文件中添加以下配置文件

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

  

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

  

  接下来就是对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,则会根据所配置好的数据源,实现数据导入

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

通过Solr所提供的Dataimporthandler实现数据源的导入的更多相关文章

  1. [转]solr DataImportHandler 解决mysql 表导入内存溢出问题

    最近一个项目要用到solr做全文检索,开始盲人摸象. 用tomcat 7 开始配置,开始正常,但是遇到cookie里有中文就报错. 无奈,换tomcat 6, 结果DataImportHandler ...

  2. solr搜索引擎配置使用mongodb作为数据源

    环境说明: 操作系统:由于是使用的docker直接拉取的镜像部署的,系统是LINUX环境 mongodb: 4.0.3 solr: 7.5.0 python: 3.5 配置mongodb 1.拉取mo ...

  3. CDH离线数据导入solr:利用MapReduceIndexerTool将json文件批量导入到solr

    场景描述:前段时间,将实时数据通过kafka+flume+morphline的方式接入到solr中.新进来的数据已经可以在solr中看到了,但是以前的历史数据还没有导入solr. CDH提供利用Map ...

  4. solr特点六: DIH (从数据源导入数据)

    在这个结构化数据和非结构化数据的数量都很庞大的年代,经常需要从数据库.XML/HTML 文件或其他数据源导入数据,并使数据可搜索.过去,要编写自定义代码才能创建到数据库.文件系统或 RSS 提要的自定 ...

  5. solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件

    昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...

  6. solr与.net系列课程(三)solr连接数据库

     solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这一节我们就开始链接数据库,首先讲一下连接之前都要配置哪些 ...

  7. 【转】Solr从数据库导入数据(DIH)

    本文转自:http://blog.csdn.net/xiaoyu714543065/article/details/11849115 一. 数据导入(DataImportHandler-DIH) DI ...

  8. SOLR (全文检索)

    SOLR (全文检索) http://sinykk.iteye.com/ 1.   什么是SOLR 官方网站 http://wiki.apache.org/solr http://wiki.apach ...

  9. solr连接数据库

    solr与.net系列课程(三)solr连接数据库    solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这 ...

随机推荐

  1. 阅读 video in to axi4-stream v4.0 笔记

    阅读 video in to axi4-stream v4.0 笔记 axi4 stream里面只传输的有效数据. 引用: 使能了video timing controller core 的所用信号, ...

  2. 一个可以再WIN2000及以上操作系统使用的GetTickCount64

    以后尽量用Delphi/C++双代码写. GetTickCount返回值是整数,这样的话最多49天多就会复位重新从0开始.Vista以后提供了GetTickCount64这个函数,但是WindowsX ...

  3. hash 在 perl 中的用法(转载)

    Perl的数据结构中最有趣的一个特性是哈希(hash),它使得在数据片段之间建立键-值(key-value)关联成为可能.虽然这些哈希要远远比普通系统中以数字索引的数组用途更广,但是往往也会使初学者不 ...

  4. yum安装下的nginx,如何添加模块,和添加第三方模块

    需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...

  5. 好看的java集合类图

    http://blog.csdn.net/iamzp2008/article/details/38151971?utm_source=tuicool&utm_medium=referral 现 ...

  6. 爬虫:输入网页之后爬取当前页面的图片和背景图片,最后打包成exe

    环境:py3.6 核心库:selenium(考虑到通用性,js加载的网页).pyinstaller 颜色显示:colors.py colors.py  用于在命令行输出文字时,带有颜色,可有可无. # ...

  7. hive mysql元数据,报错 Specified key was too long; max key length is 767 bytes

    Specified key was too long; max key length is 767 bytes 此错误为hive 元数据mysql 字符集编码问题 如 show create tabl ...

  8. nginx 301跳转

    server { server_name xxxx.com; return 301 $scheme://www.xxxx.com$request_uri; }

  9. css实现文本超出部分省略号显示

    一般超出文本显示分为两种:单行超出文本和多行超出文本省略号显示,实现方式使用纯css实现: div { // 单行 white-space: nowrap; overflow: hidden; tex ...

  10. oslo_messaging与rabbitmq

    oslo_messaing通过kombu与rabbitmq建立channel连接,向rabbitmq中发送数据 在oslo_messaging/_drivers/impl_rabbit.py中,初始化 ...