solr 6 mysql导入_solr6.6教程-从mysql数据库中导入数据(三)

建一个例子,给core导入索引数据,用于后面的实验。

1.创建一个数据库

创建一个数据库,并创建几条数据,表结构:

id自增

S_user用户信息

S_text随便填一些内容

注意:字符集UTF8

a7556b53129971a448f8027202f39856.png

添加几条数据

a37d7eb9d366ad36e418d1c5a4a86a51.png

2. 配置solrconfig.xml

sorlconfig.xml文件与managed-shema文件是经常要修改的文件。位于创建的core目录里面的config文件夹里。例如:

D:\solrhome\core_demo

在solrconfig.xml文件的后面添加如下信息:

data-config.xml

0b1886d3a223fc9ca521ae33dd35e4f2.png

其中data-config.xml 需要在solrconfig.xml同级目录下自己手动创建

3.在目录D:\solrhome\core_demo\conf 创建data-config.xml 暂时不填写内容,后面再写.

aadcc43ff2dc72697df84952d4d1a7fa.png

4.编写managed_schema

目录D:\solrhome\core_demo\conf

managed_schema里面定义了很多域,其实是使用了lucene中的域。

什么是域?域的作用是定义一个solr索引里面的字段是什么类型,能做什么,怎么做。有点类似数据库中字段的类型。但表示的含义更加的丰富。

域的定义

Name:这个域的名称,在整个managed_schema文件里面需要唯一,不能重复,这里定义成跟数据库表字段的名称,方便使用。当然,也可以定义成其他名字

Type:表示这个字段的类型是什么,string是字符串类型,int是整形数据类型,date是时间类型,相当于数据库里面的timestamp

Indexed:是否索引

Stored:是否存储

multiValued:是否多值。在一个域下存储多个值。一个域下存储一个数组。

在managed_schema后面添加如下代码

d8c6ccf44798ff2765435f13b948c174.png

5.编写之前创建的data-config.xml

2476611cce084841b42adfcf323cdca6.png

dataSource配置数据库信息

document配置数据库查询语句与managed_schema域的对应关系。目的是,在core导入数据的时候,会先通过该配置信息链接到数据库通过查询语句把数据查询出来,通过数据库字段与managed_schema域关联关系创建索引

开始导入数据

配置好了前面的信息,就可以在后台导入数据,配置信息需要reload一下core才能生效。如果配置文件出现错误,reload的时候也会有错误信息提示。

3e283170677cf05b9fcfb4dc7eeb5cfe.png

reload完之后,开始导入

67a766f1b4936f87be38d06fec36acde.png

点击Execute开始导入

73f36b41e435b6b8dc76031ede90f06a.png

如果数据量大可以勾选,自动刷新

42f54c9ead8df7921add30851d0454fb.png

如下图建立索引成功。

abdfef3967d4354e48e19328d0ad1925.png

这里有几个需要注意的地方,是我遇到的问题

1.JAVA和MYSQL连接jar包是否匹配,如果不匹配会出现如下的错误,导入失败,即使提示提取成功,也是无法建立索引,因为jar版本不对。

d8b669d554a903ed6f6ee9430e2119a7.png

同时Tomcat也会有报错信息如下:

31ad033623965733c8531d5ea8febf94.png

最终的解决办法就是更换jar 包,我本机的MYSQL版本是

mysql jar包地址

D:\tomcat\webapps\solr\WEB-INF\lib

e8c37937aaac85790aa0ecd9978e6594.png

JAVA版本是

ba2888b6cedaf73356051724e85fc888.png

现在我们查询下,看是否建立索引成功。

0e57c5103b57ec86c478f4401d6c10d0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值