一、安装
1.1、ik分词器的安装
下载ik分词器
在es的plugins目录解压,记得创建一个目录
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart 会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。
2.1.2.1、ik_max_word(细粒度分词)对于部分专业词语,我们不想进行分词,所以ik分词器提供自定义词库 修改plugins/ik-analyzer/config/IKAnalyzer.cfg.xml
,可以使用本地自定义词库,也可以使用远程分词库(建议使用远程,这样不用每次重启es集群)
DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
IK Analyzer 扩展配置
mydic.dic
mydic.dic
上海虹桥站
vi analysis/synonym.txt
国贸,国贸,国毛,国冒,国貌,国矛,国猫,国帽,国茅,国茂,国髦,国卯,国铆,国锚,国袤,国牦,国瑁,国耄,国蟊,国蝥 => 国贸
程度,成都,诚笃,成度,成读,成独,成都,成毒,程度,成督,成肚,成赌,成渡,成杜,成堵,成睹,成嘟,成妒,成镀,成渎 => 成都
重启es集群
4.2、创建索引,设置settingsPUT /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、测试