ES 中文分词
一、大名鼎鼎的中文插件IK的安装配置
1. 在插件目录中建立IK的目录
mkdir $ES_HOME/plugins/analysis-ik
2. 下载IK 的类库jar 文件到IK目录
cd $ES_HOME/plugins/analysis-ik
wget https://github.com/medcl/elasticsearch-rtf/blob/master/plugins/analysis-ik/elasticsearch-analysis-ik-1.2.6.jar
3. 放置数据字典
将打包的ik.zip 解压缩到$ES_HOME/config目录中
unzip ik.zip -d /usr/local/elasticsearch/config/
4. 设置配置文件
在配置文件中添加IK的配置
vi $ES_HOME/config/elasticsearch.yml
在最后添加下边的内容
index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: true
ik_smart:
type: ik
use_smart: false
5.重新启动es 看IK 插件运行是否正常
$ES_HOME/bin/elasticsearch –d
查看启动日志中是否加载analysis-ik
cat $ES_HOME/logs/7jia2.log | grep 'analysis-ik'
[-- ::,][INFO ][plugins ] [spt] loaded [analysis-ik], sites [bigdesk, head]
看到analysis-ik表示加载成功
6. 测试分词效果
curl -XPOST "http://192.168.1.248:7200/lvyoumall/_analyze?analyzer=ik" -d'
{
"text" : "女士冲锋衣"
}'
二 Medcl 大神的另一个分词利器mmseg
1. 在插件目录中建立IK的目录
mkdir $ES_HOME/plugins/ analysis-mmseg
2. 下载IK 的类库jar 文件到IK目录
cd $ES_HOME/plugins/ analysis-mmseg
wget https://github.com/medcl/elasticsearch-rtf/blob/master/plugins/analysis-mmseg/elasticsearch-analysis-mmseg-1.2.2.jar
3.放置数据字典
将打包的mmseg.zip 解压缩到$ES_HOME/config目录中
unzip mmseg.zip -d /usr/local/elasticsearch/config/
4. 设置配置文件
在配置文件中添加IK的配置
vi $ES_HOME/config/elasticsearch.yml
使最后的分析器如下显示
index:
analysis:
tokenizer:
mmseg_maxword:
type: mmseg
seg_type: max_word
mmseg_complex:
type: mmseg
seg_type: complex
mmseg_simple:
type: mmseg
seg_type: simple
analyzer:
ik:
alias:
- ik_analyzer
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
mmseg:
alias:
- mmseg_analyzer
type: org.elasticsearch.index.analysis.MMsegAnalyzerProvider
mmseg_maxword:
type: custom
filter:
- lowercase
tokenizer: mmseg_maxword
mmseg_complex:
type: custom
filter:
- lowercase
tokenizer: mmseg_complex
mmseg_simple:
type: custom
filter:
- lowercase
tokenizer: mmseg_simple
5.重新启动es 看IK 插件运行是否正常
$ES_HOME/bin/elasticsearch –d
查看启动日志中是否加载mmseg
cat $ES_HOME/logs/7jia2.log | grep 'analysis-mmseg '
loaded [analysis-mmseg, analysis-ik, jdbc-1.3.0.4-247a6f5], sites [bigdesk, head]
看到mmseg表示加载成功
6.测试分词效果
Curl -XPOST "http://192.168.1.248:7200/lvyoumall/_analyze?analyzer=mmseg" -d'
{
"text" : "女士冲锋衣"
}'
curl -XPOST "http://192.168.1.248:7200/lvyoumall/_analyze?analyzer=mmseg_complex" -d'
{
"text" : "女士冲锋衣"
}'
ES 中文分词的更多相关文章
- ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题)
分词器选择 调研了几种分词器,例如IK分词器,ansj分词器,mmseg分词器,发现IK的分词效果最好.举个例子: 词:<<是的>><span>哈<\span ...
- ES中文分词器安装以及自定义配置
之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了. ik分词 ...
- [ES]elasticsearch章5 ES的分词(二)
Elasticsearch 中文搜索时遇到几个问题: 当搜索关键词如:“人民币”时,如果分词将“人民币”分成“人”,“民”,“币”三个单字,那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将 ...
- Elasticsearch之中文分词器插件es-ik(博主推荐)
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch之中文分词器 Elasti ...
- Elasticsearch(10) --- 内置分词器、中文分词器
Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analy ...
- ElasticSearch 中文分词搜索环境搭建
ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...
- ElasticSearch7.3学习(十五)----中文分词器(IK Analyzer)及自定义词库
1. 中文分词器 1.1 默认分词器 先来看看ElasticSearch中默认的standard 分词器,对英文比较友好,但是对于中文来说就是按照字符拆分,不是那么友好. GET /_analyze ...
- Es学习第五课, 分词器介绍和中文分词器配置
上课我们介绍了倒排索引,在里面提到了分词的概念,分词器就是用来分词的. 分词器是ES中专门处理分词的组件,英文为Analyzer,定义为:从一串文本中切分出一个一个的词条,并对每个词条进行标准化.它由 ...
- es学习(三):分词器介绍以及中文分词器ik的安装与使用
什么是分词 把文本转换为一个个的单词,分词称之为analysis.es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体. 示例 POST http://192.168.247.8: ...
随机推荐
- sql date 的精度问题
new java.sql.Date(...) 是经过yyyy-MM-dd 格式化后的时间格式. 如果需要:HH:mm:ss .则要用 new java.sql.Timestamp(.....);
- 转载:C++之高精度算法
C++之高精度算法 注意:本文转载自http://blog.sina.com.cn/s/blog_4fdb102b010087ng.html,十分感谢原作者:忍者 前言:由于计算机运算是有模运算 ...
- ubuntu 手动添加jar到本地仓库
前言:maven仓库的下载速度太慢了,而且有些jar不存在,或者加入自己开发的依赖包,还是要学会自己手动加入jar.下面以 javax.servlet-api为例. 1.获取下载的javax.serv ...
- [LeetCode] 42. Trapping Rain Water 解题思路
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- [转] rtp h264注意点(FU-A分包方式说明)
总括: 一帧视频数据可以编码成多个H264的NALU, 每个NALU的开头为00 00 00 01: 一个RTP包可以传送 部分.一个或多个 NALU,看NALU的大小而定. 之前写过一篇文章,分析了 ...
- svn 被锁定
遇到svn被锁定,clearup 不管用一直报错 用命令行解决了 问题 : command line -> cmd>svn help>svn cleanup>exit
- Session案例
用户登入案例: 按一般的网站登入实例,用户在页面登入页输入账号.密码,验证通过后,在首页显示其"欢迎回来,xxx". 首先完成登入页login.html <!DOCTYPE ...
- 如何利用 _ViewStart.cshtml对页面添加代码?
_ViewStart.cshtml 添加的代码会出现在页面的最上面(<html> 之前) .这样就造成了我原先很多页面出现兼容性问题(经难是因为<html>之前出现了其它的代码 ...
- careercup-数组和字符串1.6
1.6 给定一幅由N*N矩阵表示的如下,其中每个像素的大小为4个字节,编写一个方法,将图像旋转90度.不占用额外内存空间能否做到? 类似leetcode:Rotate Image 思路: 我们这里以逆 ...
- labview中层叠式顺序结构与平铺式顺序结构有什么不同?
也就看着不同,平铺式看着直观,但比较占地方,程序复杂了就显得过大.二者可互相转换,从这点也可以看出它们没有本质不同!