Solr
一、是什么?
Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
二、可以做什么?
Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。Solr可以独立运行。
三、怎么做?
1、安装
1.1 安装jdk
要求jdk8以上
1.2 安装tomcat
solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动
1.3 下载及解压solr安装包
从Solr官方网站(http://lucene.apache.org/solr/ )下载对应版本的solr,Linux下载tar,windows下载zip。
将zip解压,得到以下的文件夹;
bin:solr的运行脚本
contrib:solr的一些贡献软件/插件,用于增强solr的功能。
dist:包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
licenses:solr相关的一些许可信息
1.4 启动solr
cmd进入bin目录执行 solr start命令,默认端口8983
1.5 使用solr管理界面
通过访问http://localhost:8983/solr进入solr管理界面。
1.5.1 创建solr core
Core代表一个索引库、里面包含索引数据及其配置信息,比如mysql可以新建多个数据库,solr可以新建多个core
通过管理界面新建core
界面上新建会提示如下错误
解决方案:将\solr-8.9.0\server\solr\configsets\_default中的conf复制到新的core文件夹中
通过界面新建core成功
通过命令行新建core
通过命令行新建不会报错,无需复制默认的配置文件到新的core文件夹下
1.5.2 导入数据
新建一个数据库表
在表中插入数据
1.5.3 配置数据源
在/solr-8.9.0/server/solr/test5/conf新建数据源配置文件,其中test5为新建的core名称
1.5.4 配置schema
修改/solr-8.9.0/server/solr/test5/conf/managed-schema.xml文件
schema决定solr如何建立索引,每个字段的数据类型,分词方式。
fieldType:为field定义类型,最主要作用是定义分词器,分词器决定如何从文档中检索关键字。
analyzer:fieldType下的子元素,分词器。
filed:创建索引用的字段,如果想要这个字段生成索引需要配置他的indexed属性为true,stored属性为true表示存储该索引。
1.5.5 配置数据导入处理器
修改/solr-8.9.0/server/solr/test5/conf/solrconfig.xml文件
1.5.6 导入jar包
下载jar文件放入solr-8.9.0/server/solr-webapp/webapp/WEB-INF/lib
重启solr
./solr restart -p 8333
1.5.7 solr管理界面配置dataimport
点击执行可以查询配置结果
1.5.8 通过solr查询数据
可以查询出数据库中的数据,表示配置成功
1.5.9 配置分词器
未配置分词器之前的效果
下载ik分词器jar,地址https://github.com/magese/ik-analyzer-solr
将jar包放入/solr-8.9.0/server/solr-webapp/webapp/WEB-INF/lib
解压jar,获取jar中的配置文件放入/solr-8.9.0/server/solr-webapp/webapp/WEB-INF/classes,没有文件夹就新建
配置managed-schema.xml,加入分词器配置,并修改搜索字段类型为ik_word
配置完分词器的效果
查询效果