1,实现原理
使用pinyin插件,修改其源代码,使其支持多音字和音调转换,在插入数据时进行拼音分词为排序值
转换规则:
a,将字符串里的中文转换为拼音全拼,其他字符保留,并且只返回一个连接的全部字符串
例如:中国aaa人民bbb银行111长沙222分行ddd ----------》 zhong1guo2aaaren2min2bbbyin2hang2111chang2sha1222fen1hang2ddd
b,支持多音字词库
c,将音调转换为数字 如:
一声 ---> 1
二声 ----> 2
三声 ----> 3
四声 ----> 4
轻声 ----> 5
如上,在排序时可直接使用该字段排序
2,实现步骤
安装pinyin分词插件:
拼音分词插件:elasticsearch-analysis-pinyin-1.8.4.zip
下载上述插件解压到/elasticsearch/plugin/pinyin下
重启elasticsearch,如没该文件夹可手动创建
索引设置:
{ "settings": { "index": { &#