词库9万检索直接崩了
superlbr opened this issue · 8 comments
superlbr commented
。。
xmflswood commented
测试了10W长度的文本没问题,
9W是指列表数量吗? 可不可以给个代码示例我测试下?
xmflswood commented
xmflswood commented
@superlbr
这个不是因为这个库导致的,这个场景下主要是由于dom数量太大,且数据在vue中是保存在data中响应式导致的(当然也包括标红的代码部分)。
在这个情况下即使是直接采用indexOf直接匹配也有问题。(你可以试试输入中文,输入中文的情况下,这个库会直接采用indexOf来匹配,跟pinyin无关,在我这里看也是直接崩溃的)
我测试了下,如果是手动输入yonghu,就会崩溃,如果是直接粘贴yonghu就不会(不打开F12,否则即使是输入中文也会崩溃)
可以试试把input部分改成防抖减少计算。
当然这个做法还是有崩溃的风险
改为分页展示 + input防抖 就好了。
superlbr commented
主要是想验证下js拼音输入的可行性,如果不是标红而是展示列表应该好一些。对比了下pinyin-engine,感觉还可以再压榨一点性能。
superlbr commented
好像没看到建索引。。
xmflswood commented
@superlbr 两个库的实现是不一样的,不建索引主要是考虑长字符串或者长多音字的时候的性能问题。
pinyin-engine-issues
superlbr commented
长串就不走索引,设一个阀值