elasticsearch搜索IK分词器实现单个字搜索
ik分词器存在两种分词算法:
1:ik_smart
智能分词,网上还有别的称呼:最少切分或最粗粒度划分。
2:ik_max_word称为最细粒度划分。
不管是最粗粒度切分还是最细粒度切分,都不会把每个汉字都切分出来,如果实现每个汉字都可以搜索到,那么就需要对elasticsearch进行自定义
下载IK分词器地址:/medcl/elasticsearch-analysis-ik/releases/tag/v8.2.0
自定义IK分词器
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 "/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>
将常用汉字放入并重启即可。