Solr(一)

一.认识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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值