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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十分钟读懂『卡尔曼滤波算法』

    十分钟读懂『卡尔曼滤波算法』我是勤劳的搬运工,转自:1.http://blog.csdn.net/karen99/article/details/77717432.http://blog.csdn.net/tudouniurou/article/details/6277512——————————————————————–

    2022年6月29日
    24
  • docker的端口映射_docker修改端口映射

    docker的端口映射_docker修改端口映射1.downloadimage:docker@default:/root#dockerpullmikeraab/hello-earth:latest2.createandstartcontainer(docker主机IP:192.168.99.101)a)默认大写-P自动映射$docker@default:/root#dockerrun-d

    2022年10月17日
    3
  • JUnit 5和JUnit 4比较

    JUnit 5和JUnit 4比较JUnit 5旨在调整java 8样式的编码,并且比JUnit 4更强大和灵活。在这篇文章中,JUnit 5 vs JUnit 4,我们将关注junit 4和junit 5之间的一些主要差异。1. JUnit 5 vs JUnit 4 – 注释两个版本中的大多数注释都是相同的,但很少有区别。这是一个快速比较。特征 JUNIT 4 JUNIT 5 声明一种测试方法 …

    2022年6月13日
    73
  • 素数判断算法(高效率)「建议收藏」

    素数判断算法(高效率)「建议收藏」chuanbindeng的素数判断算法关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。   正如大家都知道的那样,一个数n如果是合数,那么它的所有的因子不超过sqrt(n)–n的开方,那么我们可以用这个性质用最直观的方法来求出小于等于n的所有的素数。   num=0;

    2022年6月18日
    31
  • input事件的获取

    input事件的获取loop线程已经运行起来了,如果不出意外,它是不会终止的;不妨以此为起点,再开始一段新的旅程,我要去探索input事件的获取。一EventHub构造函数EventHub是所有输入事件的中央处理站,凡是与输入事件有关的事它都管。上帝创造万事万物都是有原因的,看看构造它是出于什么目的。EventHub::EventHub(void):mBuiltInKeybo

    2022年6月10日
    34
  • include用法及搭配(include相关短语)

    iostream与iostream.h#include<iostream.h>//这个就是1998年标准化以后的标准头文件#include<iostream>//这个就是标准化以前的头文件更本质上的区别就是iostream把标准C++库的组件放在一个名位std的namespace里面。而相对的iostream.h则将这些标准组件放在全…

    2022年4月14日
    69

发表回复

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

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