solr学习(一)安装与部署

经过测试,同步MongoDB数据到Solr的时候,Solr版本为8.4.0会出现连接不上的错误,8.3.0未经测试不知,博主测试好用的一版为8.2.0,但是官网已经下不到了,所以我会把下载链接放在文末,需要的同学自取,不要再下8.3.0/8.4.0!!!

拖更了一个多月,忙于公司的新项目,期间接触到了一个新东西,那就是solr,什么是solr,我理解为全文检索,他能实现数据库的全文检索并实现高亮显示,相信你的脑海中已经浮现出了在淘宝类似的购物平台搜索商品时的样子,没错,solr跟他很类似,当我们需要全文检索的时候就可以用到solr,下面开始搭建solr环境。

下载安装Apache Solr

我们到solr官网下载solr安装

solr官网

下载为zip格式,直接解压到本地即可。solr内置了jetty服务器,所以我们可以直接运行,当然我们也可以把solr部署到tomcat等服务器中运行,这里我们使用内置的服务器。

启动solr服务

我们进入到solr安装目录的bin文件夹下,shift+右键打开命令行窗口,win10是powershell窗口,所以我们打开后要执行cmd命令切换到cmd窗口(以下所执行的solr命令均是在此目录下执行,不再赘述),接着执行solr start来启动solr,这是solr启动成功的画面。

solr启动成功

我们打开浏览器输入localhost:8983(solr默认启动端口为8983)就能看到solr界面了。

solr界面

添加core

core就相当于solr的一个项目实例,输入命令solr create -c mycore

成功创建后,可以在 solr-8.2.0/server/solr/ 目录下看到自动生成的默认配置文件

配置文件

创建完成后,重新进入后台控制页面,可以查看到新建的 core

core

配置中文分词器 IK-Analyzer-Solr8

分词器就是能把我们输入的一个短语分成几个单词的形式,例如我爱中国,会被分为 我,爱,中国,三个。

为什么需要分词器?全文检索的意义就是当我们输入一个词语的时候能把相关涵盖的全都搜出来,比如我们搜索笔记本电脑,会把笔记本电脑拆成,笔记本,电脑,也就是说笔记本和电脑都会被查出来,这才是我们所需要的。

下载solr8版本的ik分词器,下载地址:https://search.maven.org/search?q=com.github.magese

ik分词器

将下载好的jar包放入solr-8.2.0\server\solr-webapp\webapp\WEB-INF\lib目录中

然后到solr-8.2.0\server\solr\mycore\conf目录中打开managed-schema文件

managed-schema

打开managed-schema文件在文件末尾添加以下代码

<!-- ik分词器 --> <fieldType> <analyzer type="index"> <tokenizer useSmart="false" conf="ik.conf"/> <filter/> </analyzer> <analyzer type="query"> <tokenizer useSmart="true" conf="ik.conf"/> <filter/> </analyzer> </fieldType>

添加分词器配置

然后我们输入solr restart -port 8983来重启solr,回到后台管理页面

选择mycore -> Analysis -> 选择分词器 text_ik 输入 "我爱中国"

点击"Analyse Values"按钮可以看到结果已经分词成功了。

分词成功

Solr后台管理

solr的安装与部署已经结束了,接下来带大家熟悉solr管理界面的各种功能。

Dashboard

仪表盘,显示了该Solr实例开始启动运行的时间、版本、系统资源、jvm等信息。

Logging

Solr运行日志信息

Core Admin

Solr Core的管理界面。Solr Core 是Solr的一个独立运行实例单位,它可以对外提供索引和搜索服务,一个Solr工程可以运行多个SolrCore(Solr实例),一个Core对应一个索引目录。

java properties

Solr在JVM 运行环境中的属性信息,包括类路径、文件编码、jvm内存设置等信息。

Tread Dump

显示Solr Server中当前活跃线程信息,同时也可以跟踪线程运行栈信息。

Core selector

选择一个SolrCore进行详细操作,如下:

选择core

Analysis

分词器,在上面已经讲过了,通过此界面可以测试索引分析器和搜索分析器的执行情况。

Dataimport

可以定义数据导入处理器,从关系数据库将数据导入 到Solr索引库中。

Document

通过此菜单可以创建索引、更新索引、删除索引等操作,界面如下:

document

/update表示更新索引,solr默认根据id(唯一约束)域来更新Document的内容,如果根据id值搜索不到id域则会执行添加操作,如果找到则更新。

Query

solr的条件查询操作

query

Request-Handler

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydzwj.html