Solr【一】:初识solr
1.前言
因为工作项目中用到了solr,之前没有了解过,因此快速学习一下,先保证正常使用。
学习过程中发现和之前看过的ElasticSearch十分相似,经了解:
Solr与ElasticSearch都是基于Apache lucene,Solr适合传统搜索,ES适合实时搜索。
废话不多说,开始记录过程。
2.solr的下载和启动
2.1 从官网下载并解压solr
Solr下载地址: https://solr.apache.org/downloads.html.
解压之后的目录长这样
2.2 solr的启动和停止
命令行启动:切换到solr的bin目录下,通过命令solr start 就可以启动了。如下启动成功,Solr默认端口8983
浏览器访问:http://localhost:8983/solr/,显示如下,Solr管理界面
停止Solr服务:命令 solr stop -all
2.3 创建Core
1.命令:solr create -c coreDemo ,此处 coreDemo 为 core 的名称。
此时,solr/server/solr目录下,多了个coreDemo文件夹,目录结构如下:
再次查看管理界面,coreDemo创建成功。
2.4 数据库连接
表结构
2.4.1 配置db-data-config-xml
- 复制 example\example-DIH\solr\db\conf 下的 db-data-config-xml文件到coreDemo的conf目录下
- 配置db-data-config-xml
(设置mysql驱动,url路径,用户名,密码。entity的name根据自己需求命名,query是查询到solr中sql语句)
2.4.2 配置solrconfig.xml
修改solrconfig.xml,设置DataImportHandler。必须要配置在/select 前面
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
保存重启solr,重启命令:solr restart -p 8983
此处加载类’solr.DataImportHandler’时出错,解决方法:在solrconfig.xml中加入如下配置,保存重启
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
2.4.3 建立数据库字段对应关系
方式一:在Schema添加变量,name要与数据库字段对应(不推荐,此处直接用方式二)
方式二:配置 managed-schema 文件
①如果数据的主键名称不是id的话,需要修改下图处,为表主键名称。
同时修改name为id的变量,的required=“false”
②增加如下配置,和数据库字段对应,保存重启
2.4.4 执行数据导入
此处数据未导入成功,查看日志发现缺少mysql驱动包,解决方案:下载mysql驱动包,放在D:\solr-8.8.1\server\solr-webapp\webapp\WEB-INF\lib 目录下,保存重启solr
重新执行导入,查询数据,成功!