pinyin-engine icon indicating copy to clipboard operation
pinyin-engine copied to clipboard

可能还可以优化的地方

Open xmflswood opened this issue 7 years ago • 4 comments

1.拼音做断字处理更符合搜索习惯 如:糖饼(tang bing) 现在输入 gb 也能搜到,可以在participle()的时候处理下

2.可能整个匹配算法(主要是做组合的时候,实际上是笛卡尔积?)需要做优化,这点现在也没什么好思路,只是看了下微信app能处理得非常好 pinyin-engine在处理长多音字的时候是存在问题的,比如: ‘曾大曾大曾大曾大曾大曾大曾大曾大曾大曾大曾大曾大’ (zeng ceng, da dai tai)这里总共20个多音字,有6^10次方个组合,会直接导致内存撑爆,浏览器卡死,在测试16个字的时候需要处理近一秒(chrome 61)

建议可以暂时限制处理的多音字的个数

xmflswood avatar Jan 25 '18 09:01 xmflswood

感谢建议,我考虑下优化

aui avatar Jan 25 '18 09:01 aui

断字处理可能可以这么做? participle 的时候处理成 ['tangbing', 'bing', 'tb', 'b'] 接着handle

s = '-tangbing-bing-tb-b' query的时候用s.indexOf('-‘ + keyword) 来判断

xmflswood avatar Jan 25 '18 09:01 xmflswood

xi'an 试试 :(

lomo1 avatar Mar 02 '18 06:03 lomo1

发布了pinyin-match模块,解决了分词、长多音字串的问题,也请支持下~ pinyin-match

xmflswood avatar Jul 18 '18 14:07 xmflswood