开发者学堂课程【ElasticSearch 最新快速入门教程:自定义词库】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10668
自定义词库
内容简介:
1. 中文分词Ik分词器,自定义词库
2. ES Rest_通过 REST 概述
3.ES REST 通过 REST 请求 URI 以及 ES Rest 通过 REST 的一个请求体
自定义词库,在 plugins config 目录下有一个 page 文件叫作:IKAnalyzer.cuff.xml。
可以确认一下位置:
cd~/es/plugins 下面有一个 analysis-ik,这里有个 cd config,config 目录下就一个 IKAnalyzer.cuff.xml。
IK Analyzer 这里面配置自定义的一个扩展,用户也可以在这里面配置自己的一个扩展或者停止置顶,可以在里面配置一个远程的扩展置顶前置的一个词典。
exstopword.dic,可以修改一下这里可以一个指定,
比如 custom/mydict.dic 或者 single_word_low_freq.exit
exit 可以指定一下打开 custom 文件夹然后编辑文件“不明觉厉”,然后再重新启动 es,重新打开文档下列搜索可以查询结果
演示一下,查询一下“不明觉厉”:
下面也尝试一下:
su-l root 123
然后下面 cd/opt ,home/jer
ry/es/plugins
cd analysis-ik/
进来之后 cd config,然后后面有一个 custom/mydict.dic.
这里面有个 customer/mydic.dic
dicry/es/plugins
cd anylysis-ikIKAnalyzer.cig.xml,
ik
扩展或者扩展自定义的一个字典,可以尝试一下 :
这里面是一个 custom 下面有个 mydict.dic ,完了之后编辑一下,比如说查询一下“不明觉厉”能不能查询出来,没有改之前“不明觉厉”能不能去查询出来。
比如说:
analyzer 后面写一下 ik smart “text” 不明觉厉,提交请求,并没有识别出“不明觉厉”是个一个词
有“如痴如醉”,再往下看一次识别方法:
可以mkdir 有个 customer ,
cd ,mv/customer/customer
然后在这个 customer,
cd customer
vim mydic.dic
不明觉厉
完了之后进行重启:
先 pf,jps 一下
customer 跨节点考核一下,scp-r 先停止把 es 继续停止 pkill-f 有一个 Elasticsearch 然后查询一下,jps,跨节点拷贝然后查询一下,jps
跨节点拷贝:
scp-r 有一个 config/ root 把它拷贝到 janson02opt home/jerry/es/plugins/
后面有个 analysis-ik再拷贝到03上,
这里看下 cd/root/jerry,home/jerry/es/plugins cd ik ,cd config
加一个customer
有了之后再次 su-l jerry,然后 es/bin/elasticsearch -d 现在 jps 一下,进来之后再慢慢尝试一下,看看不明觉厉现在能不能查询得到请求,可以刷新一下,点击F5刷新,看一下在 jps 查询一下,显示存在,继续F5一下,红色的,黄色的
完全启动慢慢的起来了,再查询一下“不明觉厉”,显示请求,请求中…,有一个“不明”,“觉”,“厉”,“天”,“团”,“昨”,“在”,“昨在”,“露天”,“3人”,“演唱会”,“让”,“听得”,“如痴如醉”比如说这里有个 IK smart 下面可以选一种方案叫做 ik_max_word,出现的是“如痴如醉”,下面自定义的“不明觉厉”就进去了,
点击提交请求就进去了,定义的时候要注意把这个参数根据官方的说明,需要一定的配置,自己定义汇报出来扩展的词典,
需要在 opt,es 下面有个 config,config 下面 analysis-ik 然后在这里面还需要配一下 customer mydic。
mydiction,说明需要配置一下,然后在 IK,除了这里面要定义下
还有 plug-in
这两点需要注意后就可以了,此外还需要把 IK elastic 设计服务停了,停了之后定义完成的,这里暂时定义了一个自己的。
如果使用了远程的方式 location remote_ext_stopwords ,其中 location 是一个 url,比如 http://yoursite.com/getCustomDict,该请求只能满足以下两点即可完成分词热更新。
这里是IK自定义的一个中文分词插件,中文分词词库。
需要注意:
两个地方都需要配置,一个是 jerry,一个是 plugins 这个目录下,此外在外面 config 这个目录下,也得配置,customers 下也得配置才有用。
就会有这个效果,就是“不明觉厉”提交申请,自定义词典的内容综上所述。