MySQL 版本: 8.0.23
Solr版本:7.7.2
操作步骤:
第一步:导入相关jar包
- solr-dataimporthandler-7.7.2.jar (solr-7.7.2/dist)
- solr-dataimporthandler-extras-7.7.2.jar (solr-7.7.2/dist)
- mysql-connector-java-8.0.23.jar (https://mvnrepository.com/artifact/mysql/mysql-connector-java)
将以上3个jar包放至目录 (solr-7.7.2/server/solr-webapp/webapp/WEB-INF/lib)
第二步:新增data-config.xml文件
<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内容
出现以上问题,如果确定不是内容问题,就是格式问题。
解决方案:简单粗暴,直接在代码编辑器手动敲一遍代码并复制到输入框即可。
第三步:修改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"/>
以上filed可以在网页端的Schema - Fields 看到。
第五步:执行查询