array(2) { ["docs"]=> array(0) { } ["count"]=> int(0) } 111string(0) "" int(1) int(10) int(70) int(8640000) string(13) "likecs_art_db" array(1) { ["query"]=> array(1) { ["match_all"]=> object(stdClass)#42 (0) { } } } array(1) { ["createtime.keyword"]=> array(1) { ["order"]=> string(4) "desc" } } int(10) int(0) int(8640000) array(2) { ["docs"]=> array(0) { } ["count"]=> int(0) } 黑马十次方项目day04-08之ik分词器的使用 - 爱码网

ik分词器的安装

解压配套的elasticsearch的ik分词器
黑马十次方项目day04-08之ik分词器的使用
解压完成后将elasticsearch文件夹,重命名为ik文件夹
黑马十次方项目day04-08之ik分词器的使用
ik文件夹的内容如下
黑马十次方项目day04-08之ik分词器的使用
把ik文件夹,复制到elasticsearch的plugins文件夹下
黑马十次方项目day04-08之ik分词器的使用
接着重启elasticsearch的服务
黑马十次方项目day04-08之ik分词器的使用

测试ik分词器

IK提供了两个分词算法ik_smart 和 ik_max_word
其中
ik_smart 为最少切分(例如中国人,只会分为中国人,不会再细分了),
ik_max_word为最细粒度划分(把一个词再往下切分,分的词汇多, 例如中国人,会被分解为中国人,中国,国人)
浏览器测试最少切分
http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是中国人
黑马十次方项目day04-08之ik分词器的使用
在浏览器测试最细粒度切分
http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是中国人
黑马十次方项目day04-08之ik分词器的使用

自定义词条

在ik文件夹下的config文件夹中,新建立一个custom.dic文件
黑马十次方项目day04-08之ik分词器的使用
文件中填写的内容如下
黑马十次方项目day04-08之ik分词器的使用
最后保存文件**,特别要注意的是要选择无BOM的 utf-8的编码,否则会自定义分词失败**
黑马十次方项目day04-08之ik分词器的使用
保存完自定义的分词后,打开IKAnalyzer.cfg.xml文件
黑马十次方项目day04-08之ik分词器的使用
在扩展词典中,填写custom.dic

黑马十次方项目day04-08之ik分词器的使用
之后重启elasticsearch的服务器
黑马十次方项目day04-08之ik分词器的使用
在浏览器的地址栏输入如下的内容
http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=传智播客
响应如下的数据,代表自定义分词成功.
如果自定义分词失败, 可以在custom.dic文件中, 在自定义的分词,前后加上空格.
或者检查文件的编码是否为无bom的utf8
黑马十次方项目day04-08之ik分词器的使用

相关文章: