Solr 连接数据库

310 阅读2分钟

Solr连接数据库目录.png

此处测试配置的是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配置的字段一样如:

**方式二:**控制台配置(推荐)

关掉之前打开的solr,重新启动。访问:http://localhost:8983/solr/#/ 选择刚刚配置的corename库,双击schema-Add Field配置字段:u_id、u_age、u_name等,这里配置的sex2. solr字段配置方式二.png

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 数据库连接配置完成!