solr 6.4 mysql_solr6.4.1搜索引擎(2)首次同步mysql数据库
注意,这里的两个输入框*Dir如果不指定目录,那么默认这个core3目录将应该在solrhome根目录下,instanceDir和dataDir必须是两个已存在的目录
我这里的core3目录是D:\solr\solrhome\core3(这个core3目录也要先建立出来)
先不要点击按钮Add Core,因为会报错:
Error CREATEing SolrCore 'core3': Unable to create core [core3] Caused by: Can't find resource 'solrconfig.xml' in classpath or 'D:\solr\core3'
为了避免这个错误,我们首先需要为这个core3做一些准备工作,包括要把Add Core中的solrconfig.xml和schema.xml文件都创建出来。主要分为以下几步:
第一步:创建solrconfig.xml
因为是同步数据库,所以找的是db目录下的solrconfig.xml, D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\solrconfig.xml
(上图工具使用的是一个windows搜索器:Everything.exe)
复制D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\solrconfig.xml黏贴到D:\solr\solrhome\core3目录下。
修改D:\solr\solrhome\core3\solrconfig.xml,把
第二步:创建db-data-config.xml
因为在D:\solr\solrhome\core3\solrconfig.xml中,提到使用db-data-config.xml来导入数据
所以同理,复制db目录下的db-data-config.xml到D:\solr\solrhome\core3\目录下
重点1:db-data-config.xml中,url地址中的&符号必须替换为&否则会报错:
Data Config problem: 对实体 "useUnicode" 的引用必须以 ';' 分隔符结尾。
以下是我本地的db-data-config.xml文件
重点2:所有field标签的name值都必须存在于schema.xml中!(参考第三步:创建schema.xml)
第三步:创建schema.xml
复制D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\managed-schema黏贴为D:\solr\solrhome\core3\schema.xml,这个schema.xml就是Add Core界面的schema文件。
重点1:schema.xml文件定义了所有我们需要在数据库中同步过来的字段,其中db-data-config.xml中导入的字段必须要存在于该schema.xml中所以schema.xml文件决定了在整个solr应用中,所有的字段必须不能重复!建议在solr中对字段命名时采用表名_字段名方式。
重点2:schema.xml文件中所有的
重点3:当点击Add Core按钮之后,原先的D:\solr\solrhome\core3\schema.xml文件将被删除,随之增加D:\solr\solrhome\core3\conf\managed-schema(注意,没有后缀名)
以下是我本地的managed-schema文件
注意,不要缺失w10_id标签,否则会报错:
core3: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: QueryElevationComponent requires the schema to have a uniqueKeyField.
第四步:复制stopwords_*.txt文件到D:\solr\core3\lang\目录下
所有的D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\stopwords_*.txt文件
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\stopwords_el.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\stopwords_en.txt
it;id;hy;lv;hu;pt;tr;de;hi;da;cz;th;sv; 等等txt文件,总共有31个
第五步:复制以下文件到D:\solr\core3\lang\目录下
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\contractions_it.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\contractions_ca.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\contractions_ga.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\contractions_fr.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\hyphenations_ga.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\stemdict_nl.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\lang\stoptags_ja.txt
第六步:复制elevate.xml到conf目录下
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\elevate.xml复制到D:\solr\core3\conf
第七步:复制以下文件到D:\solr\core3\目录下
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\protwords.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\synonyms.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\stopwords.txt
D:\solr\solr-6.4.1\example\example-DIH\solr\db\conf\currency.xml
第八步:重启tomcat,访问solr,增加core
增加一个core就相当于增加了一个数据库,solr本就支持数据库集群,支持以json格式存储数据
点击Core Admin菜单,输入core信息,点击Add Core按钮:
建立成功之后可以查看core3的位置信息:
ps: 如果启动过程中有遇到*.lock文件而报错,那么删除该lock文件重新建立一遍既可成功。
第九步:gui界面导入mysql数据库
下拉框选择刚刚建立的core3,选中Dataimport菜单
先检查core3加载的db-data-config.xml文件是否有效,点击Reload按钮校验,当出现信息No information available时则表示校验通过。
初次导入选择full-import全量导入模式,点击Execute按钮执行数据导入,页面右边显示Indexing since则表示正在导入中,在导入过程中,点击Refresh Status则会显示详细的导入信息(Requests,Fetched,Skipped),如下图右图所示:
如果导入失败,需要重来一遍,在选择勾选clean选项(清除之前所有导入索引)外,也可以考虑直接删除数据文件,地址在core3根目录下,有个data文件夹:D:\solr\solrhome\core3\data。
注意勾选上选项 Auto-Refresh Status,这个会自动帮你刷新数据导入状态信息,信息大概变化如下:
请求第一个entity,我这里是w10,数据10万量的表
请求第二个entity,我这里是w100, 数据100万量的表
请求第三个entity,我这里是w1000, 数据1000万量的表
导入成功后,信息界面显示如下:
数据导入成solr索引成功,总共花费了5分钟06秒。这时候就可以去掉勾选项Auto-Refresh Status
第十步:gui界面查看导入数据
选择core3,点击菜单Query,什么查询条件都不要加,点击Execute Query按钮
查询出solr同步数据如下,表示同步mysql数据成功:
上图中,http地址表示此次查询可以使用这样的get请求方式,其中status 0 表示查询成功,params表示此次查询使用的查询参数。这里显示的全都是默认值。response里的数据代表查询到的数据,可以看到已经查询成功。
第十一步:solr数据状态
选择core4,点击overview,当在tomcat重启后,有可能出现上图中的optimize now,并且Optimized状态显示为叉叉,这是solr在告诉你这个core4的数据索引并没有按照solr的索引排序以达到最佳查询状态,只需要点击optimize now进行索引重新排序就可以了。
但是注意,这需要花费一定时间,所以会损失性能,当然,重新排序后,性能会提高。
solr 6.4 mysql_solr6.4.1搜索引擎(2)首次同步mysql数据库相关推荐
- solr的DIH操作同步mysql数据
1.创建MySQL数据 CREATE TABLE `city` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '城市编号', `pro ...
- solr mysql增量导入_10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)
1.创建MySQL数据 create databasesolr;usesolr;DROP TABLE IF EXISTSstudent;CREATE TABLEstudent ( idchar(10) ...
- 搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据
一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schema里面的配置文件建立索引字段: 2.把mysql-connector-j ...
- solr mysql 导入命令_(solr系列:四)将mysql数据库中的数据导入到solr中及删除solr中导入的数据...
在前面的博文中,已完成了在tomcat中对solr的部署,为solr添加了一个自定义的core,并且引入了ik分词器. 那么该如何将本地的mysql的数据导入到solr中呢? 准备工作: 1.mysq ...
- solr导入mysql数据库
感谢ITeye的博主viskyzz分享的经验,笔者基本参考ta的方法.然而,解决中间出现的问题时也融入了自己的经验. 查看ta的原文请戳: http://tbwuming.iteye.com/blog ...
- 利用solr的 DataImportHandler从mysql数据库建立索引
http://quentinxxz.iteye.com/blog/2100619 http://quentinxxz.iteye.com/blog/2100619 本文所有实验在solr4.4上进行 ...
- solr mysql数据注入_(solr系列:四)将mysql数据库中的数据导入到solr中
在前面的博文中,已完成了在tomcat中对solr的部署,为solr添加了一个自定义的core,并且引入了ik分词器. 那么该如何将本地的mysql的数据导入到solr中呢? 准备工作: 1.mysq ...
- solr 7 mysql导入_solr 7.7.0 windows 导入mysql数据库数据
接上一篇 准备导入数据 首先修改hello/cong目录下的solrconfig.xml文件,添加如下节点: data-config.xml 新建一个data-config.xml文件,与solrco ...
- mysql数据库搜索引擎要先进入_Mysql搜索引擎都有哪些区别
Mysql搜索引擎都有哪些区别 发布时间:2020-09-16 14:04:13 来源:亿速云 阅读:72 作者:小新 小编给大家分享一下Mysql搜索引擎都有哪些区别,希望大家阅读完这篇文章后大所收 ...
最新文章
- Windows Phone7天初学(4):数据绑定
- 001_FastDFS介绍
- 【信息抽取】如何使用卷积神经网络进行关系抽取
- mysql的多master调度_innodb中master线程的调度的算法改进(mysql 5.6.26)
- Java设计模式教程
- LeetCode || Copy List with Random Pointer
- [笔记]vs2015 编写汇编masm32之使用MASM32库
- IE插件在注册表中的相关位置
- 科研入门 | 会议、期刊、出版社、数据库等常识
- 甲骨文裁员真的与川普有关吗?
- 怎么用计算机ping组播地址,windows – 使用’目标主机无法访问’从同一台计算机ping“回复”(没有到其他计算机的路由)...
- 昆仑通泰触摸屏与v20变频器uss通讯,控制变频器
- No.476 数字的补数
- R语言绘制heatmap热图
- 免费的压缩/解压缩软件
- 元素周期表的118个化学元素
- java maven 混淆_使用proguard实现maven工程代码混淆
- 维修服务器bga是什么,服务器主板芯片坏了有机器能拆除焊接BGA吗?
- Microsoft自家的虚拟光驱 Virtual CD-ROM Control Panel for Wind
- 0基础java好学吗?完整学习路线图速收藏