Ubuntu 20.04搭建solr8.6,并连接mysql,进行数据同步
Solr官网地址:https://lucene.apache.org/solr/ #如果打不开,另行百度
我下载的是二进制版的
首先,把压缩包拷贝到服务器上,我用的目录是根目录下面创建的目录
解压命令 tar -zxvf XXXX.tgz
解压完之后获得一个solr-8.6.2的文件夹
Solr配置文件存放在 solr-8.6.2/server/solr/下面 配置文件名称 solr.xml
有关于配置文件参数的信息以及注释参考:
https://lucene.apache.org/solr/guide/8_6/format-of-solr-xml.html# solr官方解释文档
如果需要中文,请自行翻译
因为要连接mysql,所以我们需要进行一些别的操作:
复制solr-8.6.2/dist/ 下面的的两个jar包
solr-dataimporthandler-8.6.2.jar、solr-dataimporthandler-extras-8.6.2.jar
到solr-8.6.2//server/solr-webapp/webapp/WEB-INF/lib/ 下面,然后需要下载
mysql-connect-Java.jar
下载地址:https://dev.mysql.com/downloads/connector/j/ 结合自己的mysql版本,自行选择
把这个jar包上传到上面路径的文件夹下面
到这里,准备工作就做好了。
- 可以启动solr了
进到 solr-8.6.2/bin 目录下面,执行 ./solr start -force
出现这样的页面就是OK了,打开浏览器。输入ip:8983
这时候咱们没有创建cores,咱们可以点击core admin创建
会看到这么一个报错,这是因为没有对应的配置文件,这时候咱们可以进到
Server/solr下面 会看到刚创建的test 只创建了一个空文件夹
可以复制solr-8.6.2/server/solr/configsets/_default下面的conf整个文件夹到test下面
这时候你再重新点击 add core 就会成功了
Test文件夹下面也会多一个数据存放的文件夹和一个配置文件夹
进入conf 文件夹下面,创建data-config.xml
<?xml version="1.0" encoding="UTF-8"?> <dataConfig> <dataSource name="hytest" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test_hy?serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowMultiQueries=true&useSSL=false" user="root" password="123456" /> <document> <entity name="people" PK="id" dataSource="teset" query="select * from people"> <field column="name" name="name"/> <field column="sex" name="sex"/> <field column="age" name="age"/>
</entity> </document> </dataConfig>
|
然后wq退出,编辑solrconfig.xml 文件
找合适的地方添加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
|
然后编辑vim managed-schema 文件配置字段
|
还好我懒,建的表字段少
一切修改完之后,重启solr
回到bin目录下面 ./solr stop ./solr start -force
启动好了就可以进行数据同步了,但是有一点,如果数据量太大,然后服务器的内存不足的话,很有可能会把solr玩挂掉,所以如果有这种情况,还是写一个代码进行同步最简单,不超过二十行代码就可以实现。
数据已经同步,如何使用springboot2.x集成solr8.x.x 可以参考我的另一篇文章,有公开的demo。