Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)

2024-01-09 19:58

本文主要是介绍Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)

 之前在 Solr6.5在Centos6上的安装与配置 (一) 一文中介绍了solr6.5的安装。这篇文章主要介绍创建Solr的Core并配置中文IKAnalyzer分词和拼音检索。

一、创建Core:

1、首先在solrhome(solrhome的路径和配置见Solr6.5在Centos6上的安装与配置 (一)中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.sh

4、此时在浏览器输入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.dic 
ext.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.5ik-pinyin.zip

文章来源:http://www.cnblogs.com/wander1129/archive/2017/04/05/6658828.html

这篇关于Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/588268

相关文章

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos