[jjzhu学java]之solr4.9同步mysql数据
Solr是一个高性能,採用Java5开发,基于Lucene的全文搜索server。同一时候对其进行了扩展,提供了比Lucene更为丰富的查询语言,同一时候实现了可配置、可扩展并对查询性能进行了优化,而且提供了一个完好的功能管理界面,是一款很优秀的全文搜索引擎。
能够将数据库中的数据导入到solr中,对于百万级别的数据能够高速响应查询。
1、安装jdk
JDK版本号须要1.7以上
2、安装solr
下载solr压缩包,解压安装包。进入到SOLR_HOME\example文件夹下,执行命令java –jar start.jar启动solr
Solr默认port为8983,訪问http://localhost:8983/solr,若有例如以下界面,则启动成功
3、导入并更新数据相关配置
Solr提供了将数据库数据导入到solr索引库的功能(dataimport)
3.1、下载数据库驱动包
下载mysql的驱动包。并放在{%SOLR_HOME%}contrib\dataimporthandler\lib文件夹下
3.2、配置solrconfig.xml
3.2.1、引用相关库
solrconfig.xml包括了用于配置自身行为的绝大部分參数,其作用范围是当前core。位置在文件文件夹该文件位于{%solr_home%} example\solr\collection1\conf下。
数据导入须要引用mysql的驱动包和DataImport所需的包。
在文件里加入例如以下内容:
<libdir="../../../contrib/dataimporthandler/lib"regex=".*\.jar" />
<lib dir="../../../dist/"regex="solr-dataimporthandler-\d.*\.jar" />
3.2.2、配置requestHandler
在solrconfig.xml中增加例如以下配置:
<requestHandlername="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3.3、配置schema.xml
Schema.xml能够灵活的配置不同类型的字段,所在位置与solrconfig.xml同级。
导入数据须要配置与数据库中字段一致的类型,在配置文件里
3.3、配置数据源
在与solrconfig.xml同级文件夹下({%solr_home%}example\solr\collection1\con),建立与3.2.2中配置中同名的数据配置文件data-config.xml,
并加入例如以下内容
<dataConfig>
<!-- driver: 数据库驱动名
url:数据库路径
user:数据库用户
password:数据库密码
batchSize:防止在导入数据过程中内存溢出
-->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/exercise"
user="root"
password=""
batchSize="-1"/>
<document>
<!--要导入的表,能够配置多个
并查询出要建立索引的字段
-->
<entity name="customerinfo" query="selectcustomerID,customerName,PID,telephone from customerinfo">
<field column="customerID" name="id"/>
<field column="customerID" name="customerID"/>
<field column="customerName"name="customerName"/>
<field column="PID" name="PID"/>
<field column="telephone" name="telephone"/>
</entity>
</document>
</dataConfig>
4、导入数据
訪问solr界面
Command选择full-import,Entity选择要导入的表,再点击Execute便可导入数据
完毕后会提示索引建立完毕。
然后在Query界面能够输入相关查询条件进行查询
[jjzhu学java]之solr4.9同步mysql数据的更多相关文章
- Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题
今天在使用Logstash的jdbc_input插件同步Mysql数据时,本来应该能搜索出10条数据,结果在Elasticsearch中只看到了4条,终端中只给出了如下信息 [2017-08-25T1 ...
- 使用Logstash来实时同步MySQL数据到ES
上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...
- 使用logstash同步MySQL数据到ES
使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...
- 推荐一个同步Mysql数据到Elasticsearch的工具
把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...
- centos7配置Logstash同步Mysql数据到Elasticsearch
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...
- 10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.创建MySQL数据 create database solr; use solr; DROP TABLE ...
- 同步mysql数据到ElasticSearch的最佳实践
Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全 ...
- canal同步MySQL数据到ES6.X
背景: 最近一段时间公司做一个技术架构的更改,由于之前使用的solr和目前的业务不太匹配,具体原因不多说啦.所以要把数据放到Elasticsearch中进行快速的搜索,这是便产生了一个数据迁移的需求, ...
- Elasticsearch--Logstash定时同步MySQL数据到Elasticsearch
新地址体验:http://www.zhouhong.icu/post/139 一.Logstash介绍 Logstash是elastic技术栈中的一个技术.它是一个数据采集引擎,可以从数据库采集数据到 ...
随机推荐
- POJ1111 Image Perimeters
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8790 Accepted: 5260 Description Techn ...
- VIJOS【1234】口袋的天空
背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 描述 给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起. ...
- C# 时间戳和普通时间相互转换
// 时间戳转为C#格式时间 private DateTime StampToDateTime(string timeStamp) { DateTime dateTimeStart = TimeZon ...
- 2018年东北农业大学春季校赛 I wyh的物品【01分数规划/二分】
链接:https://www.nowcoder.com/acm/contest/93/I来源:牛客网 题目描述 wyh学长现在手里有n个物品,这n个物品的重量和价值都告诉你,然后现在让你从中选取k个, ...
- Excel Sheet Column Title - LeetCode
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
- Linux下创建和删除用户
在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...
- static再次深入理解
在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等.
- ios为app应用添加icon
在工程中打开plist文件,添加,选择icon files,然后添加不同分辨率的icon名称即可.如果clean后再运行程序还是没有看到效果,那么就删除掉app包然后 再次运行就可以看到效果了.
- openTK学习
简介 the Open Tool Kit (OpenTK), 是对 OpenGL.OpenAL.OpenCL 的跨平台的封装,使用 C# 编写,它可以用在Mono.dotNet的语言:c#.VB.C+ ...
- Linux系统救援模式应用:恢复误删的系统文件
利用Linux系统救援模式找回误删的系统文件 背景:在操作中误删了某些重要的系统文件如/lib64/libc.so.6这个文件,可以利用Linux系统的救援模式来找回 步骤: 将系统光盘或U盘在Bio ...