Solr导入MySQL数据之dataimport-handler
2023-09-11 14:22:18 时间
Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中。实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库。
1、向SolrCore中加入jar包
在SolrCore目录中创建lib目录,将dataimportHandler和mysql数据库驱动的jar拷贝至lib下(dataimportHandler在solr安装目录的dist下)
1 mkdir /opt/solrHome/collection1/lib
2 cp /opt/solr-4.10.3/dist/solr-dataimporthandler-* /opt/solrHome/collection1/lib
3 cp /opt/mysql-connector-java-5.1.34.jar /opt/solrHome/collection1/lib
2、修改solrconfig.xml,添加requestHandler
1 vim /opt/solrHome/collection1/conf/solrconfig.xml
1 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
2 <lst name="defaults">
3 <str name="config">data-config.xml</str>
4 </lst>
5 </requestHandler>
3、编辑data-config.xml文件,存放在SolrCore的conf目录
1 vim /opt/solrHome/collection1/conf/data-config.xml
<field column="id" name="id"/>必须有一个id域,这里使用Solr默认的id域,域值是从关系数据库查询的pid列值。下边以name、description等Field都是在schema.xml中定义好的商品信息Field。
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <dataConfig>
3 <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/lucene" user="root" password="root"/>
4 <document>
5 <entity name="product" query="SELECT id,db_name,db_price,db_description FROM products ">
6 <field column="id" name="id"/>
7 <field column="db_name" name="name"/>
8 <field column="db_price" name="price"/>
9 <field column="db_description" name="description"/>
10 </entity>
11 </document>
12 </dataConfig>
4、重启Tomcat,进入管理界面--》SolrCore--》dataimport下执行导入,可见导入数据条数
需要注意的是导入数据点击Execute后程序不会自动停止导入,需要手动点击停止。
MySQL数据库中的数据:
Solr索引库中的数据:
相关文章
- Mysql加锁过程详解(7)-初步理解MySQL的gap锁
- (转)Amoeba for MySQL 非常好用的mysql集群软件
- mysql高性能分页语句_如何优化Mysql千万级快速分页
- 使用MapReduce将mysql数据导入HDFS
- configure: error: mysql configure failed. Please check config.log for more information.
- Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
- mysql 经常使用命令整理总结
- MySQL使用初步—mysql数据库的基本命令
- MySQL 监控
- mysql 几阶b树_在学到MySQL索引时,涉及到了B树和B+树.聊一聊
- MySQL mysqldump备份数据库及恢复数据库(mysql命令)
- 项目访问mysql时报: Failed to obtain JDBC Connection...:Host ‘X‘is not allowed to connect to this MySQL ser
- mysql只更新日期不更新时分秒,Mysql取30天内每天最大的数据
- Exel文件数据导入至Mysql数据库
- 转 zabbix debug and zabbix使用percona插件监控mysql
- Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).
- MYSQL导入csv类型的数据出现The MySQL server is running with the --secure-file-priv option
- 设置mysql允许远程连接
- mysql—MySQL数据库中10位或13位时间戳和标准时间相互转换
- mysql导出数据报错The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- mysql 导入数据时一定要改这个值 max_allowed_packet = 1000M
- (5.6)mysql高可用系列——MySQL Utilities 管理工具
- k8s部署mysql踩坑 mysqladmin: [ERROR] unknown option ‘--“‘.
- Mysql 导入CSV数据 语句 导入时出现乱码的解决方案
- 【数据库学习】——Python实现mysql数据库SQL文件生成和导入
- Mysql启动时提示:Another MySQL daemon already running with the same unix socket.
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- MySQL 安装和配置