背景知识:
- solr是apache下面的一个开源项目,由java开发,是一款基于lucene的全文搜索服务器。
- 关于solr的原理可以移步至这篇博客查看:solr原理
Solr的安装:
- 由于solr是java开发的,因此要运行solr需要有java环境支持,jre1.8下载地址
- 我使用的solr版本是6.6.5,因此文章主要根据这个版本讲解,请读者根据下面的网盘地址下载:
链接:https://pan.baidu.com/s/16qeI5OiEjTznV6IDth66JQ 密码:36xx
Solr的运行:解压安装包到任意位置,进入bin目录,运行如下命令:
bin> solr start
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!
访问本地地址:http://localhost:8983/solr/#/即可看到solr的运行界面:
至于solr界面每一个菜单栏是什么意思,可以查看这篇博文:solr菜单详解
运行如下面的命令退出solr并创建一个名叫test的测试用例:
bin> solr stop -all
提示信息:表示solr已经终止
Stopping Solr process 7440 running on port 8983
bin> solr start && solr create -c test
提示信息:创建了一个test的集合
Creating new core 'test' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=test&instanceDir=test
{
"responseHeader":{
"status":0,
"QTime":311},
"core":"test"}
}
访问solr首页,点击Core Admin,可以看到刚刚新创建的test:( 至于solr还有那些命令,可以点击 常见命令 查看)
接下来讲解如何安装分词IK,首先根据如下网盘地址下载,ik包:
链接:https://pan.baidu.com/s/1vrVzZoSQCBht87ojnSm52A 密码:lowq
解压 ikanalyzer-solr6.5.zip,将其中的 solr-analyzer-ik-5.1.0.jar 和 ik-analyzer-solr5-5.x.jar 放到server\solr-webapp\webapp\WEB-INF\lib目录下面 ,之后打开刚刚创建的test实例的配置目录( server\solr\test\conf ),双击managed-schema文件( 这个其实就是schema.xml文件 )在最后添加如下代码:
name的值是随便取的,用于之后类型的选择,当某一个字段选择了这个类型之后,那么它就会被分词
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
</analyzer>
</fieldType>
关于useSmart的值,当为true时表示使用智能切分
重新启动slor,选择test集合:
点击Analysis,如果看到如下结果就说明我们的分词类型text_ik设置成功
默认情况下是样子的:
以上我们就把ik分词配置好了。