【搜索引擎】Solr最新安装以及通过关系型数据库(MySQL,Oracle,PostgreSQL)导入数据
版本号
最新的solr版本 : Solr 8.1.1下载地址:https://lucene.apache.org/solr/downloads.html
- solr-8.1.0.tgz for Linux/Unix/OSX systems
- solr-8.1.0.zip for Microsoft Windows systems
如何安装(Linux)
安装的方式有两种:1. 通过内置脚本和容器Jetty启动; 2. 或者通过将server/solr-webapp放置到Tomcat的webapps下启动。下面是通过第一种简单的方式。
- 上传准备好的solr-8.1.0.tgz到Linux环境并解压
tar zxf solr-8.1.0.tgz
进入解压的目录可以看到很多文件夹,文件夹的详细解释可以看看官网: 相关文件夹解释
bin/ 重要的脚本文件,例如solr是Linux系统的控制脚本,solr.cmd是Windows系统的控制脚本。
- 启动
bin/solr start -force
- 查看状态
bin/solr status
- 停止
bin/solr stop -all
默认启动监听端口:8983
- solr Admin管理页面查看:
http://localhost:8983/solr/
注意:本文使用单机方式安装测试,生产环境请使用集群的SolrCloud环境。
- 线上安装环境视情况而定,没有标准答案,可以看看这篇文章:
Sizing Hardware in the Abstract: Why We Don’t Have a Definitive Answer - 线上生产环境参考:Taking Solr to Production
以及 SolrCloud
如何同步的数据库数据到Solr?
- 在解压的文件夹下/server/solr/下创建一个文件夹,例如:testcore
mkdir testcore
- 从/server/solr/configsets/_default或者/server/solr/configsets/sample_techproducts_configs下拷贝一份conf文件夹到新加的testcore中
cp -r conf/ ../../testcore/
- 编辑solrconfig.xml文件
vim /server/solr/mycore/conf/solrconfig.xml
加入配置:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
将主目录/example/example-DIH/solr/db/conf文件夹下的db-data-config.xml文件拷贝到自己的mycore的conf下
cp db-data-config.xml /home/solr-8.1.1/server/solr/testcore/conf/
修改db-data-config.xml文件为自己的数据库相关信息(这里以MySQL为例,Oracle,PostgreSQL修改为相关信息即可):
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/testdatabase" user="system" password="mysql"/>
<document>
<entity name="USER" query="SELECT `NAME`,`PASSWORD`,USERNAME,PHONE FROM `USER`" >
<field column="NAME" name="name" />
<field column="PASSWORD" name="password" />
<field column="USERNAME" name="username" />
<field column="PHONE" name="phone" />
</entity>
</document>
</dataConfig>
- 修改/solr-8.1.1/server/solr/testcore/conf/managed-schema文件
vim managed-schema
加入上面的field字段:
<field name="name" type="string" indexed="true" stored="true"/>
<field name="username" type="string" indexed="true" stored="true"/>
<field name="password" type="string" indexed="true" stored="true"/>
<field name="phone" type="string" indexed="true" stored="true"/>
- 加入相关jar包
- 拷贝/solr-8.1.1/dist下的包到solr-webapp中/WEB-INF/lib/下
cp solr-dataimporthandler-8.1.1.jar /home/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
cp solr-dataimporthandler-extras-8.1.1.jar /home/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
- 加入mysql的驱动包到solr-webapp中/WEB-INF/lib/下
mysql-connector-java-5.1.47.jar
- 重新启动solr,在管理页面Core Admin页面添加一个core名为testcore

- 通过solr Admin管理网页开始导入

日志查看
导入过程中可以查看日志排查问题:
tail solr-8.1.1/server/logs/solr.log
参考文档:
【搜索引擎】Solr最新安装以及通过关系型数据库(MySQL,Oracle,PostgreSQL)导入数据的更多相关文章
- Hadoop生态组件Hive,Sqoop安装及Sqoop从HDFS/hive抽取数据到关系型数据库Mysql
一般Hive依赖关系型数据库Mysql,故先安装Mysql $: yum install mysql-server mysql-client [yum安装] $: /etc/init.d/mysqld ...
- sqlyog管理关系型数据库mysql数据库之sqlyog的安装管理
.关系型数据库 有库有表,有关系 非关系型数据库 存储对象.集 下面的所有演示截图都是基不超过SQLyog 11进行的. 1. 2.点击上图中的应用程序,进行安装. 安装sqlyog , 账户dd0 ...
- sqoop实现关系型数据库与hadoop之间的数据传递-import篇
由于业务数据量日益增长,计算量非常庞大,传统的数仓已经无法满足计算需求了,所以现在基本上都是将数据放到hadoop平台去实现逻辑计算,那么就涉及到如何将oracle数仓的数据迁移到hadoop平台的问 ...
- 关系型数据库MySQL多实例
简介 MySQL数据库是一个中小型关系型数据库管理系统,软件开发者为瑞典MySQL AB公司.在2008年1月16号被Sun公司收购后Sun公司又被oracle公司收购.目前MySQL被广泛地应用在I ...
- 使用sqoop 在关系型数据库和Hadoop之间实现数据的抽取
(一)从关系型数据库导入至HDFS 1.将下面的参数保持为 import.script import --connectjdbc:mysql://192.168.1.14:3306/test--use ...
- MongoDB 与传统关系型数据库mysql比较
与关系型数据库相比,MongoDB的优点: 转载自 http://blog.sina.com.cn/s/blog_966e430001019s8v.html①弱一致性(最终一致),更能保证用户的访问 ...
- Flink RichSourceFunction应用,读关系型数据(mysql)数据写入关系型数据库(mysql)
1. 写在前面 Flink被誉为第四代大数据计算引擎组件,即可以用作基于离线分布式计算,也可以应用于实时计算.Flink的核心是转化为流进行计算.Flink三个核心:Source,Transforma ...
- Python3爬虫(九) 数据存储之关系型数据库MySQL
Infi-chu: http://www.cnblogs.com/Infi-chu/ 关系型数据库关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以关系型数据库的存储方式就是行列 ...
- 关系型数据库MySql简介
什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...
随机推荐
- Angular JS中变量定义的基本原则
在Angular JS开发中,经常需要定义一些变量,关于这些变量的定义方法及作用域应该注意以下几点: 1. 如果能用局部变量解决问题,尽量不要用全局变量. 2. 需要与界面双向绑定的变量采用$scop ...
- COGS 1570. [POJ3461]乌力波
★☆ 输入文件:oulipo.in 输出文件:oulipo.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 法国作家乔治·佩雷克(Georges Perec,1 ...
- es6(三set和map数据结构)
es6中提供了一个新的数据结构Set,他有点类似数组,但和数组不同的是,在里面你如果写入重复的值的话,他不会显示重复值. const s =new Set(); [2,3,4,5,6,6,6,7,8, ...
- SpringCloud版本介绍和SpringBoot的兼容性
Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着自己的发布版本号.Spring Cloud通过一个资源清单BOM(Bill of Material ...
- linux批量检测服务器能否ping通和硬盘容量状态并抛出报警的一个脚本-附详细解释
有一些linux基础,最近刚开始学shell,参考了阿良老师的一个监测服务器硬盘状态的脚本,自己进行了一些扩展,今天比较晚了,后边会把注释放上来,感觉脚本还很不完善,希望大家一起探讨一下,共同学习 2 ...
- InnoDB INFORMATION_SCHEMA System Tables
InnoDB INFORMATION_SCHEMA System Tables 可以使用InnoDB INFORMATION_SCHEMA系统表提取有关InnoDB管理的schema对象的元数据. 此 ...
- bacula快速部署
快速部署: Server端:DD.SD.Monitor.Console均部署在Server上Client端:FD Server端部署:上传事先下载的源码包 tar xvf bacula-9.2.0.t ...
- (2) LVS负载均衡:VS_TUN和VS_DR的arp问题
1. ARP协议简介 ARP(Address Resolution Protocol)协议称为地址解析协议,用于将主机IP地址解析为主机的MAC地址,即IP-->MAC之间一一映射. RARP协 ...
- Python旅途——简单语法
1. 前言 在我们对环境以及pycharm安装好之后,我们就可以开始我们的Python之旅了,那么,我们学习一门语言应该如何开始呢?就像我们学习汉语一样,从abcd这些拼音学起,而对于我们Python ...
- pwnable.kr cmd1之write up
看一下源代码: #include <stdio.h> #include <string.h> int filter(char* cmd){ ; r += strstr(cmd, ...