03_Solr之dataimport

2022-07-05 12:40:02 浏览数 (1)

solr的主要核心还是数据,那么如何将数据库中的我们需要通过solr分析的数据导入到solr中呢?接下来我们将来学习如何通过配置文件的方式,获取数据库的数据,并导入solr。

这里使用的是mysql测试。

1、先在mysql中建一个库:solr

常见一张表,命名为products,表结构如下:

2、插入一些测试数据:

做好准备工作之后,接下来我们就开始进行solr的链接数据库的相关配置:

1 想要通过配置文件连接数据库,就要有数据库驱动,我这里用的是Mysql。

除了数据库驱动,还需要solr自带的两个jar文件,这两个jar文件主要是用来把数据库数据导入solr服务器的,都在该目录下:

一共三个jar包,都复制粘贴到 solr-7.3.1serversolr-webappwebappWEB-INFlib

进入solr-7.3.1serversolrtest_Coreconf 找到solrconfig.xml 文件,打开,

添加如下配置:

代码语言:javascript复制
<!--数据库配置 -->
 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults">  
          <str name="config">data-config.xml</str>  
    </lst>  
</requestHandler> 

保存后,在同级目录下,创建data-config.xml文件,该文件主要是配置数据库和配置SQL语句的:

打开添加如下配置:

配置managed-schema中的数据库列和名称的映射关系。

将下列代码复制到managed-schema中:

商品document的field包括:pid、pname、sort_id、sort_name、sale_price、pinfo、pic

先定义Fieldtype:

solr本身提供的fieldtype类型够用了不用定义新的了。

代码语言:javascript复制
pid:商品id主键

使用solr本身提供的:

<field name="id"type="string" indexed="true" stored="true"required="true" multiValued="false" /> 

pname:商品名称

<field name="product_name"type="text_ik" indexed="true" stored="true"/>

sort_id:商品分类

<field name="product_sort_id"type="string" indexed="true" stored="true"/>

sort_name:商品分类名称

<fieldname="product_sort_name" type="text_ik"indexed="true" stored="true"/>

sale_price:商品价格

<fieldname="product_sale_price" type="pfloat" indexed="true"stored="true"/>

desc:商品描述

<fieldname="product_desc" type="text_ik"indexed="true" stored="false"/>

pic:商品图片

<field name="product_pic"type="string" indexed="false" stored="true"/>

至此,相关配置已经处理完成啦!下面开始导入数据:

去solr-7.3.1/bin下启动solr:

在浏览器输入 localhost:8983/solr 进入后,找到自己的core 然后根据下图进行数据导入:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111281.html原文链接:https://javaforall.cn

0 人点赞