solr8.3.1创建核心(core)并导入mysql数据
本文介绍如solr如何从mysql导入数据。solr安装请参考《Docker 安装solr8.3.1》,文章中用到的目录和《Docker 安装solr8.3.1》一文中的目录相关联。
一、创建核心(core)
1、在/data/solr/data/目录中创建meta_db,并拷贝/usr/local/solr/solr/server/solr/configsets/_default/conf到/data/solr/data/meta_db,修改conf所属组和用户。
mkdir /data/solr/data/meta_db
cp -R /usr/local/solr/solr/server/solr/configsets/_default/conf /data/solr/data/meta_db
cd /data/solr/data/meta_db
chown -R solr:solr conf
2、打开solr页面,选择Core Admin,点击Add Core,填写name 和instanceDir为刚刚创建的meta_db,其余参数保存默认。如图
3、点击2步骤中的Add core,核心创建成功后如图所示。
二、导入mysq数据到meta_db核心中
1、准备jar包
1)solr-dataimporthandler-extras-8.3.1.jar
2)solr-dataimporthandler-8.3.1.jar
以上两个包在/data/soft/solr-8.3.1/dist中可以找到
3)mysql-connector-java-8.0.15.jar
下载:maven仓库,百度网盘
2、上传到/data/soft,该目录已经挂载宿主机/data/coowalt/solr目录。
cd /data/soft/solr-8.3.1/dist
cp solr-dataimporthandler-extras-8.3.1.jar solr-dataimporthandler-8.3.1.jar /usr/local/solr/solr/server/solr-webapp/webapp/WEB-INF/lib
cd /usr/local/solr/solr/server/solr-webapp/webapp/WEB-INF/lib
cp /data/soft/mysql-connector-java-8.0.15.jar .
chmod a+r mysql-connector-java-8.0.15.jar
3、拷贝db-data-config.xml到/data/solr/data/meta_db/conf目录下,并编辑
cp /data/soft/solr-8.3.1/example/example-DIH/solr/db/conf/db-data-config.xml /data/solr/data/meta_db/conf
vi db-data-config.xml
写入如下配置信息:
<dataConfig>
<dataSource driver="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://" user="" password="" />
<document>
<entity name="shop" query="select * from shop"
deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'">
<field column="name" name="name" />
<field column="business_type" name="businessType"/>
</entity>
</document>
</dataConfig>
配置说明:
url:写入mysql连接地址
user:mysql连接用户名
password:mysql连接密码
4、编辑managed-schema文件
cd /data/solr/data/meta_db/conf
vi managed-schema
#在schma标签下写入如下配置
<field name="name" type="string" indexed="true" stored="true" />
<field name="businessType" type="string" indexed="true" stored="true" />
5、编辑solrconfig.xml文件,加入name 为 /dataimport 的 requestHandler
<!-- dataimport -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
说明:
str标签指定刚刚编写的db-data-config.xml,告知dataimport数据来源
6、重启solr
service solr restart
7、打开日志监控
cd /data/solr/logs
tail -f solr.log
8、刷新solr首页,点击excute执行导入后,并点击Refresh Status.
点击上图的Refresh Status后出现如下图:说明mysql数据导入成功。
10、搜索查看导入的数据。点击meta_db核心下的Query,然后点击Excute Qurey。右侧出现我们刚刚导入的数据。
推荐: