IK分词器
Posted 宝哥大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IK分词器相关的知识,希望对你有一定的参考价值。
一、安装
1.1、ik分词器的安装
下载ik分词器
在es的plugins目录解压,记得创建一个目录
二、使用效果
2.1、在kibana中查询
2.1.1、没有使用分词器
2.1.2、使用ik分词器
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart
会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。
2.1.2.1、ik_max_word(细粒度分词)
2.1.2.2、ik_smart(粗粒度分词)
三、自定义词库
对于部分专业词语,我们不想进行分词,所以ik分词器提供自定义词库
修改plugins/ik-analyzer/config/IKAnalyzer.cfg.xml
,可以使用本地自定义词库,也可以使用远程分词库(建议使用远程,这样不用每次重启es集群)
<?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">mydic.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
mydic.dic
上海虹桥站
四、同义词
4.1、添加同义词库
vi analysis/synonym.txt
国贸,国贸,国毛,国冒,国貌,国矛,国猫,国帽,国茅,国茂,国髦,国卯,国铆,国锚,国袤,国牦,国瑁,国耄,国蟊,国蝥 => 国贸
程度,成都,诚笃,成度,成读,成独,成都,成毒,程度,成督,成肚,成赌,成渡,成杜,成堵,成睹,成嘟,成妒,成镀,成渎 => 成都
重启es集群
4.2、创建索引,设置settings
PUT /book4
{
"mappings" : {
"properties" : {
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
},
"analyzer" : "ik_max_word",
"search_analyzer" : "ik_smart"
}
}
},
"settings" : {
"index" : {
"analysis" : {
"filter" : {
"my_synonym_filter" : {
"type" : "synonym",
"synonyms_path" : "analysis/synonym.txt"
}
},
"analyzer" : {
"ik_synonym" : {
"filter" : [
"my_synonym_filter"
],
"type" : "custom",
"tokenizer" : "ik_max_word"
}
}
}
}
}
}
4.3、测试
以上是关于IK分词器的主要内容,如果未能解决你的问题,请参考以下文章