03_Solr之dataimport

03_Solr之dataimport

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

这里使用的是mysql测试。

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

    03_Solr之dataimport

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

03_Solr之dataimport

2、插入一些测试数据:

03_Solr之dataimport

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

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

03_Solr之dataimport

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

03_Solr之dataimport

一共三个jar包,都复制粘贴到 solr-7.3.1\server\solr-webapp\webapp\WEB-INF\lib 

03_Solr之dataimport

进入solr-7.3.1\server\solr\test_Core\conf 找到solrconfig.xml 文件,打开,

03_Solr之dataimport

添加如下配置:

<!--数据库配置 -->
 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults">  
          <str name="config">data-config.xml</str>  
    </lst>  
</requestHandler> 

03_Solr之dataimport

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

03_Solr之dataimport

打开添加如下配置:

03_Solr之dataimport

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

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

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

 先定义Fieldtype:

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

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"/>


03_Solr之dataimport

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

去solr-7.3.1/bin下启动solr:

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

03_Solr之dataimport 

 03_Solr之dataimport

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python 的IDEA激活码_通用破解码

    python 的IDEA激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • SOAP协议的深度解析

    SOAP协议的深度解析笔记上传:1.soap与http的区别:HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。( HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。)而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等  (SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。)2.s…

  • php拼接循环拼接字符串数组,PHP数组拼接

    php拼接循环拼接字符串数组,PHP数组拼接最近的工作中老是要遇到将两个数组进行拼接的操作。下面总结一下数组拼接的几个函数及它们的不同点。PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意。1)键名为数字时,array_merge()后面的值将不会覆盖原来的值,而是附加到后面,但+合并数组则会把…

  • tomcat的contextpath可以重复吗_tomcat deployment配置

    tomcat的contextpath可以重复吗_tomcat deployment配置本文章转载自https://www.cnblogs.com/yanan7890/p/8329163.htmltomcatserver.xmlcontextpath配置需要注意的事情在tomcat下放个war包,假如我是这样配置server.xml的,<ContextdocBase=”eggchina”path=”/yanan”reloadable=”true”sou…

  • 怎么用matlab画心形曲线方程,matlab画心形曲线「建议收藏」

    怎么用matlab画心形曲线方程,matlab画心形曲线「建议收藏」Matlab绘制三维动态心形It’sOKtosendapicto…Matlab绘制三维动态心形It’sOKtosendapicto…(x,y1,’-r’,x,y2,’-.k’,’linewidth’,2)8、绘制心形图r=2(1-cosθ)的极坐标图形>>theta=[0:0.01:2*pi];>>polar(theta,…

    2022年10月16日
  • mac clion 激活码-激活码分享

    (mac clion 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS3…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号