此处测试配置的是oracle数据库(也可以配置mysql等数据库),用的是方式一创建的corename文件包
1、添加驱动依赖包
添加驱动依赖包到如下目录:D:\solr-8.2.0\server\solr-webapp\webapp\WEB-INF\lib,我使用的oracle数据库,添加的是oracle驱动包,其他数据库添加相应驱动包即可.
我添加的是ojdbc6.jar ,也可以添加其它版本如:ojdbc8.jar 等
下载地址:ojdbc6.jar 提取码:bgul
2、配置dataimporthandler相关包
找到解压目录D:\solr-8.2.0\dist下的solr-dataimporthandler-8.2.0.jar包和solr-dataimporthandler-extras-8.2.0.jar两个包,也复制到D:\solr-8.2.0\server\solr-webapp\webapp\WEB-INF\lib目录下
3、添加数据库配置
找到目录D:\solr-8.2.0\server\solr\corename\conf下的solrconfig.xml并添加配置
<!-- 数据库配置 -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config2.xml</str>
</lst>
</requestHandler>
4、创建data-config2.xml数据库连接配置
在目录D:\solr-8.2.0\server\solr\corename\conf下新建一个文件data-config2.xml并添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource
type="JdbcDataSource"
driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ORCL"
user="duke"
password="duke" />
<document>
<entity name="userEntity" query="select
ID,
NAME,
AGE
from t_user">
<field column="ID" name="user_id"/>
<field column="NAME" name="user_name"/>
<field column="AGE" name="user_age"/>
</entity>
</document>
</dataConfig>
其中数据库驱动,地址,表,用户名,密码和查询sql及字段都需要替换成你自己数据库的相应配置。field的culumn是数据库字段名称(查询出来后没有改别名下),name可以自定义,之后就是solr字段名称。
5、添加Solr字段
方式一:配置managed-schema
打开文件D:\solr-8.2.0\server\solr\corename\conf下的managed-schema,并在其中的标签里面添加如下配置:
<!--字段配置 对应userEntity -->
<field name="u_id" type="string" indexed="true" stored="true"/>
<field name="u_age" type="string" indexed="true" stored="true"/>
<field name="u_name" type="string" indexed="true" stored="true"/>
注意上面的name需要和前面userEntity配置的字段一样如:<field column="ID" name="user_id"/>
方式二:控制台配置(推荐)
关掉之前打开的solr,重新启动。访问:http://localhost:8983/solr/#/
选择刚刚配置的corename库,双击schema-Add Field配置字段:u_id、u_age、u_name等,这里配置的sex2.
6、验证数据库配置是否成功
关掉之前打开的solr,重新启动。
cmd到D:\solr-8.2.0\bin目录下输入命令:
.\solr stop -all
.\solr start
待启动成功后,浏览器打开solr地址:
http://localhost:8983/solr/#/
-
导入库中数据
并按如下图选择好,其中的userEntity是你的表名。点击excute执行
solr全量更新.png
导入完成后/或刷新页面。还有,如果进行全量更新,在现有基础上要选择 Clean。
-
查询导入的所有数据:
查询效果.png
数据库连接配置完成!