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