Solr(三):数据库数据批量导入solr

一、实现功能

将数据库中数据,批量导入solr,构建全文检索。

二、环境

1.CentOS6.4

2.CDH5.7.0

3.solr-4.10.3-cdh5.7.0

三、步骤

1.导入原始数据库

2.依据业务修改schema.xml

vi solr-4.10.3-cdh5.7.0/solrhome/collection2/conf/schema.xml

针对具体的业务需要自定义一套Field,例如:

<!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_price"  type="float" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" />
<field name="product_picture" type="string" indexed="false" stored="true" />
<field name="product_catalog_name" type="string" indexed="true" stored="true" />

<field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="product_name" dest="product_keywords"/>
<copyField source="product_description" dest="product_keywords"/>

这些自定义域,要与数据库中对应字段对应,名称不一定一样,但是要有清晰的对应关系,如下

3.使用dataimport插件批量导入,将dataimport插件依赖的jar包添加到实例solrcore的lib下(solrhome/collection1/lib)中

(1)solr-4.10.3-cdh5.7.0/dist中的

solr-dataimporthandler-4.10.3-cdh5.7.0.jar
solr-dataimporthandler-extras-4.10.3-cdh5.7.0.jar

(2)mysql数据库连接驱动包

mysql-connector-java-5.1.27-bin.jar

4.配置solrconfig.mxl文件,添加一个requestHandler

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

5.在solrconfig.mxl同级目录下,创建data-config.xml,即数据导入配置文件。

(1)作用是:

-》连接数据库

-》SQL语句

-》构建数据库原始字段与solr新定义的域的对应关系

(2)具体内容

<?xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>   
<dataSource type="JdbcDataSource"   
		  driver="com.mysql.jdbc.Driver"   
		  url="jdbc:mysql://hadoop:3306/test"   
		  user="root"   
		  password="mysql密码"/>   
<document>   
	<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
		 <field column="pid" name="id"/> 
		 <field column="name" name="product_name"/> 
		 <field column="catalog_name" name="product_catalog_name"/> 
		 <field column="price" name="product_price"/> 
		 <field column="description" name="product_description"/> 
		 <field column="picture" name="product_picture"/> 
	</entity>   
</document>   

</dataConfig>

6.重启tomcat

四、测试

1.进入solr

2.点击Execute执行,然后,等待结果

3.成功~

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值