2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 六Elasticsearch之中文分词器插件es-ik的热更新词库

六Elasticsearch之中文分词器插件es-ik的热更新词库

时间:2022-11-02 00:18:17

相关推荐

六Elasticsearch之中文分词器插件es-ik的热更新词库

参考:/info-detail-1705113.html

先声明,热更新词库,需要用到,web项目和Tomcat。不会的,请移步

Eclipse下Maven新建项目、自动打依赖jar包(包含普通项目和Web项目)

Tomcat *的安装和运行(绿色版和安装版都适用)

Tomcat的配置文件详解

1: 部署 http 服务

在这使用 tomcat7 作为 web 容器, 先下载一个 tomcat7, 然后上传到某一台服务器上(192.168.80.10)。

再执行以下命令

tar -zxvf apache-tomcat-7.0.73.tar.gz

cd apache-tomcat-7.0.73/webapp/ROOT

vi hot.dic

测试

验证一下这个文件是否可以正常访问

http://192.168.80.10:8080/zhoulshot.dic

2: 修改 ik 插件的配置文件

cd elasticsearch-2.4.3/plugins/ik/config

vi IKAnalyzer.cfg.xml

修改 key=remote_ext_dict 的 entry 中的内容

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "/dtd/properties.dtd">

<properties>

<comment>IK Analyzer 扩展配置</comment>

<!--用户可以在这里配置自己的扩展字典 -->

<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic;custom/zhouls.dic</entry>

<!--用户可以在这里配置自己的扩展停止词字典-->

<entry key="ext_stopwords">custom/ext_stopword.dic</entry>

<!--用户可以在这里配置远程扩展字典 -->

<entry key="remote_ext_dict">http://192.168.80.10:8080/zhoulshot.dic</entry>

<!--用户可以在这里配置远程扩展停止词字典-->

<!-- <entry key="remote_ext_stopwords">words_location</entry> -->

</properties>

注意:(1)默认是words_location,我这里改为我自己的了。http://192.168.80.10:8080/zhoulshot.dic (自定义词库)

(2)默认是custom/mydict.dic;custom/single_word_low_freq.dic,我这里改为我自己的了。 (自定义热更新词库) custom/mydict.dic;custom/single_word_low_freq.dic;custom/zhouls.dic

3: 验证

重启 es, 会看到如下日志信息, 说明远程的词典加载成功了。

执行下面命令查看分词效果

curl ‘http://192.168.80.10:9200/zhouls/_analyze?analyzer=ik_max_word&pretty=true‘ -d‘{"text":"桂林山水"}‘

正常情况下桂林山水会分为多个词语, 但是我们希望 es 把[桂林山水]作为一个完整的词, 又不希望重启 es。

这样就需要修改前面的 zhoulshot.dic 文件, 增加一个词语[桂林山水]

vi hot.dic

桂林山水

文件保存之后, 查看 es 的日志会看到如下日志信息

再执行下面命令查看分词效果

curl ‘http://192.168.80.100:9200/zhouls/_analyze?analyzer=ik_max_word&pretty=true‘ -d‘{"text":"桂林山水"}‘

到这为止, 可以实现动态添加自定义词库实现词库热更新。

==============================================================================

注意: 默认情况下, 最多一分钟之内就可以识别到新增的词语。

查看 es-ik 插件的源码可以发现

第一步:下载tomcat压缩包

/dist/tomcat/tomcat-7/v7.0.73/bin/

第二步:上传tomcat压缩包

[hadoop@HadoopMaster app]$ ll

total 3092

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$rz

[hadoop@HadoopMaster app]$ ll

total 11824

-rw-r--r--. 1 hadoop hadoop 8938514 Feb 25 11:10apache-tomcat-7.0.73.tar.gz

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$

第三步:解压缩

[hadoop@HadoopMaster app]$tar -zxvf apache-tomcat-7.0.73.tar.gz

第四步:删除压缩包

[hadoop@HadoopMaster app]$ ll

total 11828

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 25 19:18 apache-tomcat-7.0.73

-rw-r--r--. 1 hadoop hadoop 8938514 Feb 25 11:10 apache-tomcat-7.0.73.tar.gz

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$rm apache-tomcat-7.0.73.tar.gz

[hadoop@HadoopMaster app]$ ll

total 3096

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 25 19:18apache-tomcat-7.0.73

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$

第五步:重命名tomcat安装目录

[hadoop@HadoopMaster app]$ ll

total 3096

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 25 19:18apache-tomcat-7.0.73

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$mv apache-tomcat-7.0.73 tomcat-7.0.73

[hadoop@HadoopMaster app]$ ll

total 3096

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 22 06:05 elasticsearch-2.4.3

-rw-r--r--. 1 hadoop hadoop 908862 Jan 10 11:38 elasticsearch-head-master.zip

-rw-r--r--. 1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip

drwxr-xr-x. 10 hadoop hadoop 4096 Oct 31 17:15 hadoop-2.6.0

drwxr-xr-x. 15 hadoop hadoop 4096 Nov 14 hadoop-2.6.0-src

drwxrwxr-x. 8 hadoop hadoop 4096 Nov 2 18:20 hbase-1.2.3

drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11 jdk1.7.0_79

drwxrwxr-x. 9 hadoop hadoop 4096 Feb 25 19:18tomcat-7.0.73

drwxr-xr-x. 10 hadoop hadoop 4096 Nov 1 23:39 zookeeper-3.4.6

[hadoop@HadoopMaster app]$

第六步:进入tomcat安装目录,并初步认识下

[hadoop@HadoopMaster app]$ cd tomcat-7.0.73/

[hadoop@HadoopMaster tomcat-7.0.73]$ ll

total 116

drwxr-xr-x. 2 hadoop hadoop 4096 Feb 25 19:18bin

drwxr-xr-x. 2 hadoop hadoop 4096 Nov 8 05:30conf

drwxr-xr-x. 2 hadoop hadoop 4096 Feb 25 19:18lib

-rw-r--r--. 1 hadoop hadoop 56846 Nov 8 05:30LICENSE

drwxr-xr-x. 2 hadoop hadoop 4096 Nov 8 05:27logs

-rw-r--r--. 1 hadoop hadoop 1239 Nov 8 05:30NOTICE

-rw-r--r--. 1 hadoop hadoop 8965 Nov 8 05:30RELEASE-NOTES

-rw-r--r--. 1 hadoop hadoop 16195 Nov 8 05:30RUNNING.txt

drwxr-xr-x. 2 hadoop hadoop 4096 Feb 25 19:18temp

drwxr-xr-x. 7 hadoop hadoop 4096 Nov 8 05:29webapps

drwxr-xr-x. 2 hadoop hadoop 4096 Nov 8 05:27work

[hadoop@HadoopMaster tomcat-7.0.73]$

在这里,需要,先事先好,在linux下安装好tomcat。并配置好环境变量。不会的,请移步

在CentOS下安装tomcat并配置环境变量

第七步:进入webapps/ROOT目录下

[hadoop@HadoopMaster tomcat-7.0.73]$cd webapps/

[hadoop@HadoopMaster webapps]$ pwd

/home/hadoop/app/tomcat-7.0.73/webapps

[hadoop@HadoopMaster webapps]$ ll

total 20

drwxr-xr-x. 14 hadoop hadoop 4096 Feb 25 19:18 docs

drwxr-xr-x. 7 hadoop hadoop 4096 Feb 25 19:18 examples

drwxr-xr-x. 5 hadoop hadoop 4096 Feb 25 19:18 host-manager

drwxr-xr-x. 5 hadoop hadoop 4096 Feb 25 19:18 manager

drwxr-xr-x. 3 hadoop hadoop 4096 Feb 25 19:18 ROOT

[hadoop@HadoopMaster webapps]$cd ROOT/

[hadoop@HadoopMaster ROOT]$ pwd

/home/hadoop/app/tomcat-7.0.73/webapps/ROOT

[hadoop@HadoopMaster ROOT]$ ll

total 196

-rw-r--r--. 1 hadoop hadoop 17811 Nov 8 05:29 asf-logo.png

-rw-r--r--. 1 hadoop hadoop 5866 Nov 8 05:29 asf-logo-wide.gif

-rw-r--r--. 1 hadoop hadoop 713 Nov 8 05:29 bg-button.png

-rw-r--r--. 1 hadoop hadoop 1918 Nov 8 05:29 bg-middle.png

-rw-r--r--. 1 hadoop hadoop 1392 Nov 8 05:29 bg-nav-item.png

-rw-r--r--. 1 hadoop hadoop 1401 Nov 8 05:29 bg-nav.png

-rw-r--r--. 1 hadoop hadoop 3103 Nov 8 05:29 bg-upper.png

-rw-r--r--. 1 hadoop hadoop 3376 Nov 8 05:30 build.xml

-rw-r--r--. 1 hadoop hadoop 21630 Nov 8 05:29 favicon.ico

-rw-r--r--. 1 hadoop hadoop 12186 Nov 8 05:30 index.jsp

-rw-r--r--. 1 hadoop hadoop 8965 Nov 8 05:30 RELEASE-NOTES.txt

-rw-r--r--. 1 hadoop hadoop 5576 Nov 8 05:30 tomcat.css

-rw-r--r--. 1 hadoop hadoop 2066 Nov 8 05:29 tomcat.gif

-rw-r--r--. 1 hadoop hadoop 5103 Nov 8 05:29 tomcat.png

-rw-r--r--. 1 hadoop hadoop 2376 Nov 8 05:29 tomcat-power.gif

-rw-r--r--. 1 hadoop hadoop 67198 Nov 8 05:30 tomcat.svg

drwxr-xr-x. 2 hadoop hadoop 4096 Feb 25 19:18 WEB-INF

[hadoop@HadoopMaster ROOT]$

第八步:新建,自定义的热更新词库。如,我这里,是,zhoulshot.dic

[hadoop@HadoopMaster ROOT]$ pwd

/home/hadoop/app/tomcat-7.0.73/webapps/ROOT

[hadoop@HadoopMaster ROOT]$vim zhoulshot.dic

[hadoop@HadoopMaster ROOT]$ cat zhoulshot.dic

好记性不如烂笔头感叹号博客园热更新词

[hadoop@HadoopMaster ROOT]$ ll

total 200

-rw-r--r--. 1 hadoop hadoop 17811 Nov 8 05:29 asf-logo.png

-rw-r--r--. 1 hadoop hadoop 5866 Nov 8 05:29 asf-logo-wide.gif

-rw-r--r--. 1 hadoop hadoop 713 Nov 8 05:29 bg-button.png

-rw-r--r--. 1 hadoop hadoop 1918 Nov 8 05:29 bg-middle.png

-rw-r--r--. 1 hadoop hadoop 1392 Nov 8 05:29 bg-nav-item.png

-rw-r--r--. 1 hadoop hadoop 1401 Nov 8 05:29 bg-nav.png

-rw-r--r--. 1 hadoop hadoop 3103 Nov 8 05:29 bg-upper.png

-rw-r--r--. 1 hadoop hadoop 3376 Nov 8 05:30 build.xml

-rw-r--r--. 1 hadoop hadoop 21630 Nov 8 05:29 favicon.ico

-rw-r--r--. 1 hadoop hadoop 12186 Nov 8 05:30 index.jsp

-rw-r--r--. 1 hadoop hadoop 8965 Nov 8 05:30 RELEASE-NOTES.txt

-rw-r--r--. 1 hadoop hadoop 5576 Nov 8 05:30 tomcat.css

-rw-r--r--. 1 hadoop hadoop 2066 Nov 8 05:29 tomcat.gif

-rw-r--r--. 1 hadoop hadoop 5103 Nov 8 05:29 tomcat.png

-rw-r--r--. 1 hadoop hadoop 2376 Nov 8 05:29 tomcat-power.gif

-rw-r--r--. 1 hadoop hadoop 67198 Nov 8 05:30 tomcat.svg

drwxr-xr-x. 2 hadoop hadoop 4096 Feb 25 19:18 WEB-INF

-rw-rw-r--. 1 hadoop hadoop 55 Feb 25 19:44 zhoulshot.dic

[hadoop@HadoopMaster ROOT]$

第九步:验证一下这个zhoulshot热更新词文件是否可以正常访问

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。