MySQL 版本: 8.0.23

Solr版本:7.7.2

操作步骤:

第一步:导入相关jar包

将以上3个jar包放至目录 (solr-7.7.2/server/solr-webapp/webapp/WEB-INF/lib)

第二步:新增data-config.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="12345678"/>
<document>
<entity name="user" query="select * from user">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="phone" name="phone"/>
<field column="email" name="email"/>
</entity>
</document>
</dataConfig>

数据库名称:test

表名称:user (id, name, phone, email)

data-config.xml 放至目录: solr-7.7.2/server/solr/test01/conf

column: 数据库对应名称

name: solr域名称

query: SQL语句

solr 页面 - Dataimport页面 - 查看并测试data-config.xml内容

solr - solr 连接 MySQL_solr

出现以上问题,如果确定不是内容问题,就是格式问题。

解决方案:简单粗暴,直接在代码编辑器手动敲一遍代码并复制到输入框即可。

solr - solr 连接 MySQL_xml_02

第三步:修改solrconfig.xml

添加如下代码

<requestHandler name="/dataimport" class="solr.DataImportHandler"> 
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

第四步:修改managed-schema (定义域)

<field name="name" type="string" indexed="true" stored="true"/>
<field name="password" type="string" indexed="true" stored="true"/>
<field name="phone" type="string" indexed="true" stored="true"/>
<field name="email" type="string" indexed="true" stored="true"/>

solr - solr 连接 MySQL_solr_03

以上filed可以在网页端的Schema - Fields 看到。

第五步:执行查询

solr - solr 连接 MySQL_xml_04