IK 分词器
IK 分词器-介绍
现有问题:ES 默认对中文分词并不友好,实际上是把中文进行了每个字的分词。
# 查看ES对中文的默认分词
GET /_analyze
{
"analyzer": "standard",
"text": "乒乓球明年总冠军"
}
# 分词结果,是将“乒乓球明年总冠军”拆分成了“乒”、“乓”、“球”、“明”、“年”、“总”、“冠”、“军”
对此,通常我们需要为 ES 加入友好的中文分词器,如 IKAnalyzer 。
IKAnalyzer 是一个开源的、基于 Java 语言开发的、轻量级的中文分词工具包。
是一个基于 Maven 构建的项目。
具有 60 万字/秒的高速处理能力。
支持用户词典扩展定义。
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/archive/v7.4.0.zip
IK 分词器-安装
环境准备:Maven
ElasticSearch 要使用 IK,就要先构建 IK 的 jar 包,这里要用到 Maven 包管理工具,而 Maven 需要 Java 环境,而 ElasticSearch 内置了 JDK, 所以可以将 JAVA_HOME 设置为ElasticSearch 内置的 JDK 。
1)设置 JAVA_HOME
vi /etc/profile
# 在profile文件末尾添加
#java environment
export JAVA_HOME=/opt/elasticsearch-7.4.0/jdk
export PATH=$PATH:${JAVA_HOME}/bin
# 保存退出后,重新加载profile
source /etc/profile
2)下载 Maven 安装包
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
3)解压 Maven 安装包
tar xzf apache-maven-3.1.1-bin.tar.gz
4)设置软连接
ln -s apache-maven-3.1.1 maven
5)设置 path
- 打开文件:
vi /etc/profile.d/maven.sh
- 将下面的内容复制到文件,保存:
export MAVEN_HOME=/opt/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
- 设置好 Maven 的路径之后,需要运行下面的命令使其生效:
source /etc/profile.d/maven.sh
6)验证 Maven 是否安装成功
mvn -v
7)将 Maven 镜像下载换成阿里云
vi /opt/apache-maven-3.1.1/conf/setting.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
安装 IK 分词器
1)下载 IK
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v7.4.0.zip
2)解压 IK
# 如果本机环境没有安装 unzip
yum install zip
yum install unzip
# 解压 IK
unzip v7.4.0.zip
3)编译 jar 包
# 切换到 elasticsearch-analysis-ik-7.4.0目录
cd elasticsearch-analysis-ik-7.4.0/
#打包
mvn package
4) jar 包移动
- package 执行完毕后会在当前目录下生成 target/releases 目录,将其中的 elasticsearch-analysis-ik-7.4.0.zip 拷贝到 ElasticSearch 目录下的新建的目录 plugins/analysis-ik,并解压:
#切换目录
cd /opt/elasticsearch-7.4.0/plugins/
#新建目录
mkdir analysis-ik
cd analysis-ik
#执行拷贝
cp -R /opt/elasticsearch-analysis-ik-7.4.0/target/releases/elasticsearch-analysis-ik-7.4.0.zip /opt/elasticsearch-7.4.0/plugins/analysis-ik
#执行解压
unzip /opt/elasticsearch-7.4.0/plugins/analysis-ik/elasticsearch-analysis-ik-7.4.0.zip
5)拷贝辞典
- 将 elasticsearch-analysis-ik-7.4.0目录下的 config 目录中的所有文件拷贝到 elasticsearch 的 config 目录:
cp -R /opt/elasticsearch-analysis-ik-7.4.0/config/* /opt/elasticsearch-7.4.0/config
6)重启 ElasticSearch
IK 分词器-使用
IK分词器有两种分词模式:ik_max_word 和 ik_smart 模式
# ik_max_word:会将文本做最细粒度的拆分。
GET /_analyze
{
"analyzer": "ik_max_word",
"text": "乒乓球明年总冠军"
}
# 分词结果:“乒乓球”、“乒乓”、“球”、“明年”、“总冠军”、“冠军”
# ik_smart:会做最粗粒度的拆分
GET /_analyze
{
"analyzer": "ik_smart",
"text": "乒乓球明年总冠军"
}
# 分词结果:“乒乓球”、“明年”、“总冠军”
由结果看出,IK 的分词效果达到我们对中文分词的要求。
IK 分词器的更多相关文章
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.
在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用.注: 本文属于原创文章, 如若转载,请注明出处, 谢谢.关于设置I ...
- IK分词器 整合solr4.7 含同义词、切分词、停止词
转载请注明出处! IK分词器如果配置成 <fieldType name="text_ik" class="solr.TextField"> < ...
- Elasticsearch5.1.1+ik分词器+HEAD插件安装小记
一.安装elasticsearch 1.首先需要安装好java,并配置好环境变量,详细教程请看 http://tecadmin.net/install-java-8-on-centos-rhel-an ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- elasticsearch 之IK分词器安装
IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ik 安装好ES之后就可以安装分词器插件了 记住选择ES对应的版本 对应的有版本选择下载 ...
- Solr和IK分词器的整合
IK分词器相对于mmseg4J来说词典内容更加丰富,但是没有mmseg4J灵活,后者可以自定义自己的词语库.IK分词器的配置过程和mmseg4J一样简单,其过程如下: 1.引入IKAnalyzer.j ...
- Solr(四)Solr实现简单的类似百度搜索高亮功能-1.配置Ik分词器
配置Ik分词器 一 效果图 二 实现此功能需要添加分词器,在这里使用比较主流的IK分词器. 1 没有配置IK分词器,用solr自带的text分词它会把一句话分成单个的字. 2 配置IK分词器,的话它会 ...
- 如何开发自己的搜索帝国之安装ik分词器
Elasticsearch默认提供的分词器,会把每个汉字分开,而不是我们想要的根据关键词来分词,我是中国人 不能简单的分成一个个字,我们更希望 “中国人”,“中国”,“我”这样的分词,这样我们就需要 ...
- elasticsearch安装ik分词器
一.概要: 1.es默认的分词器对中文支持不好,会分割成一个个的汉字.ik分词器对中文的支持要好一些,主要由两种模式:ik_smart和ik_max_word 2.环境 操作系统:centos es版 ...
- Lucene 6.0下使用IK分词器
Lucene 6.0使用IK分词器需要修改修改IKAnalyzer和IKTokenizer. 使用时先新建一个MyIKTokenizer类,一个MyIkAnalyzer类: MyIKTokenizer ...
随机推荐
- Linux——配置主从数据库服务
主从数据库 Linux中,数据库服务有三种:互为主主,互为主从,一主一从(主从数据库) 互为主主:数据库时时更新 互为主从:数据库达到一定的的容量再更新 一主一从:在主数据库上面创建的,可以同步到从数 ...
- STL 较详尽总结
STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...
- Python pyecharts绘制饼图
一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...
- Google Earth Engine 中的位运算
Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...
- LuoguP4263 [Code+#3]投票统计 题解
Content 有 \(t\) 组询问,每组询问给定一个长度为 \(n\) 的数列,请将出现次数最多的数按照从小到大的顺序输出,或者这些数在数列中出现的次数都相等. 数据范围:\(t\) 未知,\(n ...
- 前端er必须掌握的数据可视化技术
又是一月结束,打工人准时准点的汇报工作如期和大家见面啦.提到汇报,必不可少的一部分就是数据的汇总.分析. 作为一名合格的社会人,我们每天都在工作.生活.学习中和数字打交道.小到量化的工作内容,大到具体 ...
- java 图形化工具Swing 基本使用
Swing介绍: 使用Swing开发图形界面比AWT更加优秀,因为Swing是一种轻量级组件,它采用100% Java实现,不再依赖于本地平台的图形界面,所以可以在所有平台上保持相同的运行效果,对跨平 ...
- Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用
在Linux中,内核的开发者定义了一套框架模型来完成CPU频率动态调整这一目的,它就是CPU Freq系统.如下为CPU的几种模式(governor参数): ondemand:系统默认的超频模式,按需 ...
- layer 如何加上关闭框
layer 如何加上关闭框
- 一个在线MP4提取mp3的网站
网址 https://airmore.cn/extract-audio-online