由于现在使用拼音输入法较多,很可能输入同音字而无法搜索到结果,或者由于普通话不标准(前后鼻音不分)输入了错误的拼音。例如用户想搜索”牛奶“却输入了刘来(liulai),那我们可以对liulai进行模糊音扩展,然后一起放到搜索引擎中去搜索。为了避免过度扩展曲解了用户的意图,对于扩展词需要进行排序,越少改动越排在前面(原文排在最前),越多改动越排在后面。在搜索时按照顺序赋予不同的权重。
类似这样:
"query": {"bool":{
"should":[
{"match" : { "t.py":{"query": "lanqiuxie","analyzer":"whitespace","operator":"or" ,"boost":3}}},
{"match" : { "t.py":{"query": "langqiuxie","analyzer":"whitespace","operator":"or" ,"boost":3}}},
{"match" : { "t.py":{"query": "nangqiuxie","analyzer":"whitespace","operator":"or" ,"boost":2}}},
{"match" : { "t.py":{"query&