Solr之——配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer
2017-04-17 00:34
651 查看
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/70200378
在上一篇博文《CentOS安装与配置Solr6.5》中,我们讲解了如何在CentOS中安装与配置Solr6.5,那接下来我们就一起实现如何在Solr6.5中实现配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer。好了我们直接进入主题。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/d6af8b85763c13ad99406572866f1dee)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/199e6bed17e98f6eec56f739adf36edf)
重启tomcat,后在浏览器输入http://localhost:8080/solr/index.html#/mycore/analysis
在Field Value (Index)文本框输入一些中文,然后Analyse Fieldname / FieldType:选择text_smartcn查看中文分词的效果。
如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/c410926f4d41d47b712f651072afb7cd)
解压后会有四个文件。
2、将文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下,并修改IKAnalyzer.cfg.xml
3、在ext.dic 里增加自己的扩展词典,例如,唯品会 聚美优品
4、复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到/down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。
注意: 记得将stopword.dic,ext.dic的编码方式为UTF-8 无BOM的编码方式。
重启tomcat查看分词效果。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/c2fbe7c7765f214e04de2bc42e239d9f)
2、将pinyin4j-2.5.0.jar、pinyinAnalyzer.jar这两个jar包复制到/down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/709bcccbc8add6699bc18c07246ddd2c)
这里用的是solr自带的中文分词加上pinyin4j来实现的
相关文件的下载地址:
ikanalyzer-solr5.zip
pinyin.zip
在上一篇博文《CentOS安装与配置Solr6.5》中,我们讲解了如何在CentOS中安装与配置Solr6.5,那接下来我们就一起实现如何在Solr6.5中实现配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer。好了我们直接进入主题。
一、创建Core:
1、首先在solrhome(solrhome的路径和配置见《CentOS安装与配置Solr6.5》 中solr的web.xml)中创建mycore目录;[root@localhost down]# [root@localhost down]# mkdir /down/apache-tomcat-8.5.12/solrhome/mycore [root@localhost down]# cd /down/apache-tomcat-8.5.12/solrhome/mycore [root@localhost mycore]#2、复制solr-6.5.0\example\example-DIH\solr\solr下的所有文件到/down/apache-tomcat-8.5.12/solrhome/mycore目录下:
[root@localhost mycore]# cp -R /down/solr-6.5.0/example/example-DIH/solr/solr/* ./ [root@localhost mycore]# ls conf core.properties [root@localhost mycore]#3、重新启动tomcat;
[root@localhost down]# /down/apache-tomcat-8.5.12/bin/shutdown.sh [root@localhost down]# /down/apache-tomcat-8.5.12/bin/startup.sh4、此时在浏览器输入http://localhost:8080/solr/index.html即可出现Solr的管理界面,即可看到我们刚才的mycore
二、配置solr自带的中文分词(和IK的区别是不能自己添加词库):
1、配置solr6.5自带中文分词。复制solr-6.5.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.5.0.jar到apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。[root@localhost down]# cp /down/solr-6.5.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.5.0.jar /down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/2、为core添加对中文分词的支持。编辑mycore下conf下的managed-schema文件.
[root@localhost conf]# cd /down/apache-tomcat-8.5.12/solrhome/mycore/conf [root@localhost conf]# vi managed-schema在文件的</schema>前添加
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> </analyzer> </fieldType>
重启tomcat,后在浏览器输入http://localhost:8080/solr/index.html#/mycore/analysis
在Field Value (Index)文本框输入一些中文,然后Analyse Fieldname / FieldType:选择text_smartcn查看中文分词的效果。
如图:
三、配置IKAnalyzer的中文分词:
1、首先下载IKAnalyzer 这是最新的支持solr6.5.解压后会有四个文件。
[root@localhost ikanalyzer-solr5]# ls ext.dic IKAnalyzer.cfg.xml solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar stopword.dicext.dic为扩展字典,stopword.dic为停止词字典,IKAnalyzer.cfg.xml为配置文件,solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar为分词jar包。
2、将文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下,并修改IKAnalyzer.cfg.xml
[root@localhost ikanalyzer-solr5]# cp ext.dic IKAnalyzer.cfg.xml stopword.dic /down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/classes/
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 --> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">stopword.dic;</entry> </properties>
3、在ext.dic 里增加自己的扩展词典,例如,唯品会 聚美优品
4、复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到/down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。
[root@localhost down]# cp /down/ikanalyzer-solr5/solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar /down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/5、在 solrhome\mycore\conf\managed-schema 文件</schema>前增加如下配置
<!-- 我添加的IK分词 --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/> </analyzer> </fieldType>
注意: 记得将stopword.dic,ext.dic的编码方式为UTF-8 无BOM的编码方式。
重启tomcat查看分词效果。
四、配置拼音检索:
1、前期准备,需要用到pinyin4j-2.5.0.jar、pinyinAnalyzer.jar这两个jar包,下载地址。2、将pinyin4j-2.5.0.jar、pinyinAnalyzer.jar这两个jar包复制到/down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。
[root@localhost down]# cp pinyin4j-2.5.0.jar pinyinAnalyzer4.3.1.jar /down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/3、在 solrhome\mycore\conf\managed-schema 文件</schema>前增加如下配置:
<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/> <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /> <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/> <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /> <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /> </analyzer> </fieldType>重启tomcat查看拼音检索效果。
这里用的是solr自带的中文分词加上pinyin4j来实现的
相关文件的下载地址:
ikanalyzer-solr5.zip
pinyin.zip
相关文章推荐
- Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)
- Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)
- Solr中文分词配置(IKAnalyzer)
- solr4.7.2开发实践 ——拼音检索【需要用到的包pinyin4j-2.5.0.jar和pinyinAnalyzer.jar;只需要配置schema.xml文件、solrj的java代码测试】
- solr 扩展中文分词 IKAnalyzer 配置文件路径
- 【solr】Solr中文分词配置(IKAnalyzer)
- solr 3.4配置中文分词IKAnalyzer3.2.8
- 在Solr中配置中文分词IKAnalyzer
- solr 5.5.1安装并配置中文分词IKAnalyzer
- 配置solr4.10.0和中文分词IKAnalyzer
- Solr配置,schema.xml的配置,以及中文分词
- solr配置中文分词
- solr中文分词mmseg4j详细配置
- solr4.7安装配置,solrcloud安装配置,中文分词使用步骤
- Linux(CentOS6.4)Solr4.8.1中文分词配置(IK分词)
- Solr5.0配置中文分词包
- [ solr入门 ] - 在schema.xml中加入中文分词(IKAnalyzer)
- Apache Solr 4.9 和 IKAnalyzer中文分词配置(下)
- solr学习之(二)_在solr4.2中部署IKAnalyzer中文分词插件
- Solr的学习使用之(三)IKAnalyzer中文分词器的配置