ik分词器存在两种分词算法:
1:ik_smart
智能分词,网上还有别的称呼:最少切分或最粗粒度划分。
2:ik_max_word称为最细粒度划分。
不管是最粗粒度切分还是最细粒度切分,都不会把每个汉字都切分出来,如果实现每个汉字都可以搜索到,那么就需要对elasticsearch进行自定义
下载IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v8.2.0
IK分词器给出了单个汉字的扩展
extra_single_word.dic:常用的单个汉字
extra_single_word_full.dic:全部的单个汉字
extra_single_word_low_freq.dic:低频(不常用)单个汉字
找到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">extra_single_word.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
将常用汉字放入并重启即可。