如需要使用到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. java 代码实现使用Druid 链接池获取数据库链接

    因为原先使用的c3p0链接池,时常出现:APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks,以及出 ...

  2. ajax请求完成执行的操作

    var createAjax = $("#createId").ajax(function(){ //ajax操作 }); $.when(createAjax).done(func ...

  3. 问题 Windows7VMware14安装虚拟机时出现 此主机不支持虚拟化实际模式。需要具备 Intel“VMX 不受限客户机”功能才能在 Intel 处理器上运行此虚拟机。 模块“CPUIDEarly”启动失败。

    问题 Windows7VMware14安装虚拟机时出现 此主机不支持虚拟化实际模式.需要具备 Intel“VMX 不受限客户机”功能才能在 Intel 处理器上运行此虚拟机. 模块“CPUIDEarl ...

  4. Lattice并购案&我国FPGA发展路径

    FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化.网络化和智能化的发展,FPGA的应用领域得到快速扩张.美国在FPGA领域拥有绝对的垄断优势,已成 ...

  5. 网页导出PDF文件

    转自-----出道诗人 var downPdf = document.getElementById("exportToPdf"); downPdf.onclick = functi ...

  6. BZOJ 2173 luoguo P4451 [国家集训队]整数的lqp拆分

    整数的lqp拆分 [问题描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 , ...

  7. 深入理解volatile

    volatile知识点 --------------------------------------------------------------------------- 1.volatile关键 ...

  8. 纯Java——简易高并发框架

    转自:https://blog.csdn.net/MonkeyDCoding/article/details/81369610 0.源代码github-简易高并发框架 注:本篇博客知识来自于网课. 1 ...

  9. mac下安装cnpm淘宝镜像

    cnpm:官网 (事先已经安装了node,有npm)查看官网,提示安装需运行命令:npm install -g cnpm --registry=https://registry.npm.taobao. ...

  10. Android 阻隔返回键

    //阻隔 返回键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K ...