ElasticSearch(五)"/>
ElasticSearch(五)
五、分词(_analyze)
1、基础介绍
一个tokenizer(分词器)接收一个字符流,将之分割为独立的tokens(词元,通常是独立的单词),然后输出tokens流。
官方分词器:.html
如何查看分词效果:
POST _analyze
{"analyzer": "standard", //指定使用的分词器"text": "good good study,day day up" //要分词的数据
}
ES默认的分词器对于中文的支持不好,所以需要安装ik分词器!
2、ik分词器安装
-
下载:
需要注意:ik分词器的版本需要和ES的版本对应
-
在ES的安装目录中找到plugins文件夹,创建一个ik文件夹
-
将下载好的zip文件,解压到ik文件夹中
-
重启ES即可
-
检查是否安装成功
cmd进入ES的bin目录,输入命令:elastic search-plugin list
3、使用ik分词器
ik分词器有两种:ik_smart (智能) ik_max_word(最大)
POST _analyze
{"analyzer": "ik_smart", "text": "好好学习,天天向上"
}
POST _analyze
{"analyzer": "ik_max_word", "text": "好好学习,天天向上"
}
4、自定义扩展分词
演示前删除自定义的词
-
问题引出:
并没有将“王晓斌”作为一个词
POST _analyze {"analyzer": "ik_smart", "text": "王晓斌真帅" }
-
修改ik分词器的词库
在ik目录下–>config中的IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM ".dtd"> <properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">wang.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
有两种方式:
1、直接给定一个文件,并放在config的目录下,再引入
<!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">wang.dic</entry>
2、将文件放在远程的项目下,通过ip地址去取即可
<!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">http://192.168.2.1/aa.txt</entry>
-
演示
添加wang.dic文档到config目录下,并重启es
感谢b站-尚硅谷-雷丰阳老师
雷丰阳视频地址
更多推荐
ElasticSearch(五)
发布评论