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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ThinkPHP5旅游管理系统

    ThinkPHP5旅游管理系统Q1115487855ThinkPHP5旅游管理系统一系统介绍本旅游管理系统基于ThinkPHP5开发,系统角色分为用户和管理员两种,系统分为前后台,用户可在前台注册登录、发布行程单和游记等,管理员登录后台进行管理。技术栈ThinkPHP5+mysql+bootstrap+jquery+vscode+phpstudy二系统功能用户1注册/登录/注销2个人中心

    2022年4月30日
    59
  • mysql忘记密码解决方案及三种方式修改密码

    mysql忘记密码解决方案及三种方式修改密码mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式:1、使用mysqladmin命令在命令行指定新密码mysqladmin-uroot-ppassword‘新密码’…

    2022年5月6日
    163
  • docker容器端口映射到服务器_阿里云外网端口映射

    docker容器端口映射到服务器_阿里云外网端口映射本篇文章通过具体案例讲解了Docker容器服务访问的两大基本操作,包括基础的容器端口映射机制和容器互联机制。同时,Docker目前可以成熟地支持Linux系统自带的网络服务和功能,这既可以利用现有成熟的技术提供稳定支持,又可以实现快速的高性能转发。………

    2022年10月10日
    4
  • HTML中加入空格和Tab

    HTML中加入空格和Tab空格 Tab 注意,Tab只有在…这样的标记内部才起作用,在其他地方只相当于一个空格。举例:p,li{white-space:pre-wrap;}灿哥哥   的 博客显示效果

    2022年6月16日
    152
  • Codeblocks中文字体反转[通俗易懂]

    Codeblocks中文字体反转[通俗易懂]codeblocks输入中文字体,出现这样的情况:属于字体的设置问题,将字体栏中的@符号去掉即可。

    2022年7月14日
    21
  • UDP协议功能

    UDP协议功能为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,设计用户数据报协议UDP。1、使用UDP协议包括:TFTP、SNMP、NFS、DNSUDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据报传输服务。它不提供报文到达确认、排序、及流量控制等功能。2、UDP的报报文格式每个UDP报文分UDP报头和UDP数据区两部分。…

    2022年5月27日
    108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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