一.认识Solr
1.Solr是Apache下的一款全文检索服务器. 也可以把它理解成是一个数据库.
2.Solr是基于Lucene开发的. Lucene中只做了部分全文检索的实现.
3.Solr是用于提高系统中数据的查询效率的, 同时, 还可以对查询结果做更多的操作, 例如拆词(分词), 高亮显示关键字, 分页显示查询结果, 查询结果过滤, …
4.Solr会将数据建立索引(倒排索引), 极大的提升数据检索的效率.
5.官网: http://lucene.apache.org/solr/
6.solr的工作流程
二.安装及配置Solr
1.找到安装包, solr-8.2.0.tgz.
2.需要先安装jdk, 然后安装solr
3.解压缩solr-8.2.0.tgz, 移动目录
4.安装lsof: yum install –y lsof
5.修改/etc/hosts文件, 将主机名映射到127.0.0.1
6.修改系统限制, 查看”解决linux系统限制警告问题.txt”
7.启动solr服务: bin/solr start –force
8.关闭防火墙, 通过浏览器访问: 192.168.15.30:8983
三.Solr管控台
1.Solr和database之间的对应关系
document(文档) --> 数据库中的一行数据(row)
id(唯一) --> 数据库中的主键
field(属性) --> 数据库一行中的列(column)
2.创建core
可以通过solr管控台实现
3.工具栏介绍
4.添加field
Schema的所有操作, 都对应一个文件, 该文件是solr_home/solr_core/conf/managed-schema. 截图:
5.索引库的更新操作
6.索引库的查询操作
四.中文分词器
使用IK Analyzer进行中文分词, 各版本下载路径: https://github.com/magese/ik-analyzer-solr
五.solr索引库数据导入(dataimport)
1.将数据库脚本solr.sql导入mysql数据库
2.拷贝jar
- mysql-connector-java-5.1.38.jar – 数据库驱动
- dist/solr-dataimporthandler-8.2.0.jar – 数据导入处理器
- dist/solr-dataimporthandler-extras-8.2.0.jar – 扩展包
以上三个jar包拷贝到solr_home/solr-webapp/webapp/WEB-INF/lib/目录
3.修改solrconfig.xml文件, 配置数据导入处理器
<!-- 配置数据导入的请求处理器-->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<!-- 加载数据导入文件,该文件中会定义sql语句,对数据库进行查询 -->
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
4.修改managed-schema文件, 添加field
5.提供data-config.xml配置文件
data-config.xml可以放在solr_home/solr_core/conf/目录下, 也可以放到web项目的类路径下(classes)
6.重启solr服务, 执行导入操作
注意, 由于数据库在windows系统, solr在linux系统, 此时linux系统需要连接windows系统下的mysql, 因此, 要在windows系统的mysql中开启远程访问权限
grant all privileges on *.* to root@’%’ identified by ‘密码’ with grant option;
flush privileges;