(四)DIH全量导入并索引数据

根据前面的步骤,我们已经配置好了Solr,以及加入了中文分词器。


转载请注明出处:jiq•钦's technical Blog

下面介绍怎么利用DIH从Oracle数据库和Mysql数据库导入数据,并为数据建立索引。


(一)Oracle数据库的全量DIH

(1)数据库中创建一个表,并插入两条数据:

  1. create table UserInfo    
  2. (    
  3.     userID number constraint userID_pk primary key,    
  4.     userName varchar(30) not null,    
  5.     userAge number not null        
  6. )    
  7.     
  8. insert into UserInfo values(1,'jiyiqin',25)  
  9. INSERT INTO USERINFO VALUES ( 2, '我的名字是季义钦', 25 );  
  10.    
  11. select USERID,USERNAME,USERAGE from USERINFO  

(2)配置solrconfig.xml:

打开Solr主目录的conf文件夹下(E:\SOLR_HOME\solr\collection1\conf)的配置文件solrconfig.xml,加入一个请求处理者配置:

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

(3)新建data-config.xml:

就在这个同级目录conf下新建一个配置文件data-config.xml,加入下面内容:

  1. <dataConfig>  
  2.     <dataSource type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//192.168.1.108:1521/baseinfo" user="JIYIQIN" password="passok" />   
  3.     <document>  
  4.         <entity name="id" query="select USERID,USERNAME,USERAGE from USERINFO">  
  5.             <field column="USERID" name="id"/>   
  6.             <field column="USERNAME" name="userName"/>   
  7.             <field column="USERAGE" name="userAge"/>   
  8.         </entity>  
  9.     </document>  
  10. </dataConfig>  

file域配置数据库表的列名,到scheme.xml配置文件中配置的的索引字段名称的映射。

(4)配置schema.xml:

在schema.xml文件中加入这几个字段的配置:

  1. <field name="userName" type="text_general" indexed="true" stored="true" />   
  2. <field name="userAge" type="int" indexed="true" stored="true" />  

因为id字段已经配置了,所以不需要我们加了,它可是必须的,是一个唯一主键。

配置结束。


(5)加入JDBC驱动:

将oracle的JDBC驱动(ojdbc6.jar)放到部署到tomcat的webapps下的solr的lib文件夹(E:\apache-tomcat-7.0.47\webapps\solr\WEB-INF\lib)下。

我的jdk是版本7的,oracle是11.2.0.1的,到官网下载对应的这个JDBC的jar包就可以。


(6)加入导入相关的jar包:

到solr的解压包的dist目录(E:\solr-4.5.1\dist)下找到solr-dataimporthandler-4.5.1.jar和solr-dataimporthandler-extras-4.5.1.jar这两个jar包,同样放到部署到tomcat的webapps下的solr的lib文件夹(E:\apache-tomcat-7.0.47\webapps\solr\WEB-INF\lib)下。

注意:要进行增量导入还需要另外一个jar包,但是我们这里是先测试全量导入。


好了。启动Tomcat,在浏览器中输入: http://localhost:80/solr/dataimport?command=full-import 进行全量导入。

到查询界面,查询userName这个字段,包含“名字”这个中文词的记录。如图:



(一)MYSQL数据库的全量DIH

所有步骤与Oracle的一模一样,只是有些步骤有些细微差别。

(1)data-config.xml文件中指定的数据源:

  1. <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="passwd" />  

(2)引入的JDBC驱动:

引入的JDBC驱动是:mysql-connector-java-5.1.27-bin.jar

可以从我的云盘下载:http://pan.baidu.com/s/1w33ch


其他步骤就都是一样的了,配置好了之后启动Tomcat,在浏览器中输入: http://localhost:80/solr/dataimport?command=full-import 进行全量导入。

之后便可以进行查询了。


下一篇文章将介绍如何利用DIH定期增量导入MySQL中的数据并建立索引。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值