介绍
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
应用场景
通过介绍可知Solr主要就是一个企业级的搜索引擎,看似很陌生,其实我们大家平时都使用过Solr。例如:我们在百度上查询资料,在淘宝、京东等购物网站上查询商品,都涉及到了Solr。
通过图片可以看到,solr会将搜索的相关文字高亮显示,并且每次搜索的速度都很快。这也是为什么不使用数据库搜索,而使用Solr的原因。其实Solr本身也可以看成是数据库,但它比数据库搜索速度更快,而数据库本身是不能实现分词效果的,只能使用模糊查询,效率非常低,并且如果将搜索都交给数据库管理,那么数据库的压力会非常大,因此一般都会使用Solr来做搜索功能。
分词器
分词器有很多种,本文主要介绍的是IK分词器
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱中国"会被分为"我"“爱”“中”“国”,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。
IK提供了两个分词算法:ik_smart和ik_max_word,其中ik smart为最少切分,ik_max_word为最细粒度划分!
ik_max_word: 会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;
ik_smart: 会做最粗粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,国歌"。
Solr的安装-Linux
官方下载地址-Solr
下载地址:https://lucene.apache.org/solr/
安装包提供(Solr与Ik分词器)-Linux版本
链接:https://pan.baidu.com/s/1yOXDJiFfqzS3bXL3QBBQeA
提取码:2022
首先将下载好的Solr安装包上传到Linux系统中,上传可以使用FileZilla Client软件连接虚拟机然后上传即可。
FileZilla Clien下载地址
https://www.filezilla.cn/download/client
注意使用FileZilla Clien连接虚拟机需要虚拟机支持SSH(需要自己安装)。
Ubuntu安装SSH
搜索:
apt search ssh
找到ssh后,安装即可
apt install ssh
查看ssh是否安装成功
ss -nat
查询到22端口即安装成功
解压上传的Solr压缩包
将上传的solr-7.7.3.tgz解压到一个目录(文件夹)下 建议建一个专门的目录(文件夹)放solr。
解压
tar zxvf 文件名路径/文件名.tgz -C /指定路径
解压完成后可以看见一个文件夹 solr-7.7.3,即可
Solr配置
Solr的使用离不开索引库,首页需要配置一个Core,Core代表一个索引库、里面包含索引数据及其配置信息,Solr中可以拥有多个Core,就像mysql中可以有多个数据库一样。
core文件夹都要放到一个统一的文件夹下面,这个文件夹叫做solr_home,用户可以自己修改这个目录,也可以用默认的solr-7.7.3\server\solr,这里采取的是在默认目录下创建mycore文件夹
首先使用cd命令跳转至solr-7.7.3\server\solr目录下 然后使用mkdir 文件夹名称等命令创建mycore即可。
例如:sudo mkdir mycore
可通过ls命令查看是否创建成功
进入mycore目录,在该目录下创建data目录
复制solr-7.7.3/server/solr/configsets/sample_techproducts_configs/conf目录到my_core目录下
cp -r /usr/local/solr/solr-7.7.3/server/solr/configsets/sample_techproducts_configs/conf/ ./
启动Solr
首先跳转至solr的bin目录下,然后输入命名启动即可
./solr start -force
注意:因为笔者虚拟机的配置问题,所以这里因为添加-force启动solr(不是所有人都需要)。
访问Solr
虚拟机IP地址+Solr端口号(默认是8983)访问即可
http://192.168.8.63:8983/solr/
在Solr网站中创建mycore(注意这个名称跟我们第一次在solr-7.7.3\server\solr目录下创建的那个文件夹名称要一致)。
Solr的安装就到此结束啦!
分词器-IK安装
简单的安装Solr远远不够,还需要为它配置分词器。
将下载的ikanalyzer-solr6.5.zip上传到Linux虚拟机中,然后解压到某个目录下
注意这里压缩包后缀为zip,解压指令需要使用unzip命令,如果提示没有unzip,则使用apt install unzip命令安装即可。
解压
sudo unzip 文件路径/文件名.zip
解压后可以看到文件夹中有jar包和其他配置文件,首先将其中的jar包复制到solr-7.7.3/server/solr-webapp/webapp/WEB-INF/lib目录下。
当前路径在solr-7.7.3/server/solr-webapp/webapp/WEB-INF/lib目录下
cp -r /usr/local/ikanalyzer/ikanalyzer-solr5/*.jar ./
将解压后的其它文件复制到solr-7.7.3/server/solr-webapp/webapp/WEB-INF/classes(如果没有classes目录则自行新建一个)
修改配置文件添加中文分词器 fieldType
首先跳转至/usr/local/solr/solr-7.7.3/server/solr/mycore/conf/目录下
cd /usr/local/solr/solr-7.7.3/server/solr/mycore/conf/
编辑
vim managed-schema
注意如果没有vim命令,使用apt install vim安装即可
在末尾插入
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer" />
<analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>
<dynamicField name="*_ik" type="text_ik" indexed="true" stored="true"/>
验证Ik分词器是否配置成功
文章来源:https://www.toymoban.com/news/detail-469132.html
结尾
若有错误,请谅解!文章来源地址https://www.toymoban.com/news/detail-469132.html
到了这里,关于Solr&IK分词器-简单介绍与安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!