将mysql数据库中数据导入至solr索引库

此处在Tomcat服务器下部署Solr

1.引入jar依赖

在apache-tomcat-8.0.52\webapps\solr\WEB-INF\lib引入mysql驱动

复制solr-dataimporthandler-7.7.3.jar和solr-jaegertracer-configurator-8.7.0.jar到apache-tomcat-8.0.52\webapps\solr\WEB-INF\lib的下面

2.数据库信息配置

复制solr-7.7.3\example\example-DIH\solr\db\conf下的db-data-config.xml到solr-home/core1/conf/下

此处改名为db-config.xml(可以不改名)修改内容为

<dataConfig>
<dataSource type="JdbcDataSource"
		  driver="com.mysql.jdbc.Driver"
		  url="jdbc:mysql://localhost:3306/shopping"
		  user="root"
		  password="0515"/>
<document>
  <!--when id select database I set column as The alias-->
  <!--what you need then find what-->
	<entity name="ec_article" query="select id,title,price,locality,create_date from ec_article">
		
	</entity>
</document>
</dataConfig>

3.修改soIrconfig文件,添加导入信息。该信息必须放在requestHandler标签的同级位置。(导入数据库信息)

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

4.自定义solr的字段,在managed-schema文件中添加filed字段。( 位置放在text字段后面即可)

<field name="title" type="text_ik" indexed="true" stored="true" multiValued="false"/>
		
  <field name="locality" type="text_ik" indexed="true" stored="true" multiValued="false"/>
       
  <field name="price" type="pfloat" indexed="true" stored="true" multiValued="false"/>
       
  <field name="create_date" type="pdate" indexed="true" stored="true" multiValued="false"/>

注:name的值要和数据库的字段名一致

5.添加IK分词器,引入IK分词器的依赖到apache-tomcat-8.5.23/webapps/solr/WEB-INF/ib/下,配置IK分词器(注意:放在fieldType同级附近)。

   <fieldType name="text_ik" class="solr.TextField">
            
    <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
		  
</fieldType>

6.启动solr,导入数据

7.导入数据后,查询数据(如下显示 说明导入数据成功,并且可以查询到)

数据库两条数据,可以全部显示

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值