|NO.Z.00008|——————————|Deployment|——|Hadoop&ElasticSearch集中式日志分析系统.v08|——|Elasticsearch.v08|索引管理&IK分词器部署.V2|

一、词典使用
### --- 词典使用

~~~     # 扩展词:
~~~     就是不想让哪些词被分开,让他们分成一个词。比如上面的江大桥
~~~     # 停用词:
~~~     有些词在文本中出现的频率非常高。但对本文的语义产生不了多大的影响。
~~~     例如英文的a、an、the、of等。或中文的”的、了、呢等”。这样的词称为停用词。
~~~     停用词经常被过滤掉,不会被进行索引。
~~~     在检索的过程中,如果用户的查询词中含有停用词,系统会自动过滤掉。
~~~     停用词可以加快索引的速度,减少索引库文件的大小。
~~~     扩展词与停用词集中存储到hadoop02服务器上,
~~~     使用web服务器集中管理,避免每个节点维护一份自己的词典

二、Hadoop02部署扩展词维护服务:Tomcat
### --- hadoop02部署Tomcat:以下操作使用es用户

~~~     # hadoop02:为避免权限问题上传到此目录下:/opt/yanqi/servers/es/
[es@hadoop02 ~]$ cd /opt/yanqi/servers/es/
[es@hadoop02 es]$ tar -zxvf apache-tomcat-8.5.59.tar.gz
[es@hadoop02 es]$ mv apache-tomcat-8.5.59 tomcat
### --- 配置自定义词典文件:自定义扩展词库

~~~     # 自定义扩展词库
[es@hadoop02 ~]$ vim /opt/yanqi/servers/es/tomcat/webapps/ROOT/ext_dict.dic
~~~     # 写入如下参数
江大桥
### --- 配置自定义词典文件:自定义停用词

~~~     # 自定义停用词
[es@hadoop02 ~]$ vim /opt/yanqi/servers/es/tomcat/webapps/ROOT/stop_dict.dic
~~~     # 写入如下参数
的
了
啊 
### --- 启动tomcat

~~~     # 启动tomcat服务
[es@hadoop02 ~]$ /opt/yanqi/servers/es/tomcat/bin/startup.sh
### --- 通过web-UI访问:

~~~     # 通过web-UI访问tomcat配置文件
http://hadoop02:8080/ext_dict.dic
http://hadoop02:8080/stop_dict.dic
三、配置IK分词器
### --- 添加自定义扩展/停用词典

~~~     # hadoop01~03修改配置参数:添加自定义扩展,停用词典;使用root用户修改,或者直接把整个文件夹改为es用户所有!!
[es@hadoop02 ~]$ vim /opt/yanqi/servers/es/elasticsearch/plugins/analysis-ik/config/IKAnalyzer.cfg.xml
~~~     # 修改配置参数如下所示:
<?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"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://hadoop02:8080/ext_dict.dic</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <entry key="remote_ext_stopwords">http://hadoop02:8080/stop_dict.dic</entry>
</properties>
~~~     # 发送到其它节点

[es@hadoop02 ~]$ rsync-script /opt/yanqi/servers/es/elasticsearch/plugins/analysis-ik/config/IKAnalyzer.cfg.xml
### --- 重启es服务

~~~     # hadoop01~03重启es服务:使用es用户
[es@hadoop02 ~]$ ps -ef|grep elasticsearch|grep bootstrap |awk '{print $2}' |xargs kill -9
[es@hadoop02 ~]$ nohup /opt/yanqi/servers/es/elasticsearch/bin/elasticsearch >/dev/null 2>&1 &
~~~     # 重启kibana服务
[es@hadoop02 ~]$ nohup /opt/yanqi/servers/es/kibana/bin/kibana >/dev/null 2>&1 &
四、验证词典是否生效
### --- 验证扩展词典是否生效

~~~     # 分词器拆分json串
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "南京市长江大桥"
}
~~~     # 输出结果:

~~~     # 省略部分参数:江大桥被当做关键字输出
    {
      "token" : "江大桥",
      "start_offset" : 4,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 5
    },
~~~     # 省略部分参数
### --- 验证停用词典是否生效

~~~     # 分词器拆分json串
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "的了啊"
}
~~~     # 输出结果:

~~~     # 输出参数为空:停止词的了啊是不会被使用的
{
  "tokens" : [ ]
}

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(25)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示