前面我们将solr安装并创建了core同时也配置可IK分词器,接下来我们通过配置连接Mysql数据库并把数据导入到solr(使用ik分词器)。
1、配置managed-schema文件 Request Handlers如下:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
2、创建data-config.xml文件并配置:
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/qnm" user="root" password="shi11111.+" /> <document> <entity name="qnm_item" query="select * from qnm_item"> <field column="id" name="id" /> <field column="item_name" name="itemName" /> </entity> </document> </dataConfig>
data-config.xml文件的存放位置自定义,别忘记修改managed-schema文件中对应的路径;
3、重新启动solr服务,页面会显示如下错误:
解决办法:原因是缺少名称为DataImportHandler 的class,而class DataImportHandler 在solr-dataimporthandler-x.x.x.jar中,solr-dataimporthandler-x.x.x.jar的位置是在sole的dist目录下,所以我们需要引入solr-dataimporthandler-x.x.x.jar包,添加配置如下(solrconfig.xml):
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
效果如图:
再次重新启动solr服务:
4、选择Entity为前面配置的qnm_item,点击执行按钮,进行数据导入如下图所示:
数据并没有导入成功!点击Logging查看日志:
很明显连接数据库出现问题,原因是没有导入连接数据库的jar文件,用步骤三的方法导入数据库连接jar(如果dist文件中没有该jar文件需要自行添加):
重启!再次重复步骤4进行数据导入:
导入成功!
5、查看导入的数据是否正确:
数据正确,我这里没有配置filed标签,所以只有id属性成功导入!
原文地址:https://www.cnblogs.com/shiguotao-com/p/10360739.html
时间: 2024-11-17 11:04:20