请教:输入汉字拼音首字母,模糊查询数据
发布于 6 年前 作者 iori2882 4904 次预览 最后一次回复是 6 年前 来自 问答
输入汉字拼音首字母,模糊查询数据,目前只有数据中预存拼音这一种方法么?比如数据库表中有name pinyin2个字段 里面存储数据 name:张三 pinyin:zhangsan,name:赵四 pinyin:zhaosi,查询输入zs,后台查询数据库pinyin这个字段,结果集为张三和赵四,就和高铁app上面查询车站那个搜索需求是一样的,主要前期设计数据库的时候没有设计pinyin这个字段,现在客户需求这个功能…有没有更好的办法解决呢?
13 回复
跑一遍脚本,给拼音加上
可以用ik-pinying分词器实现
额,目前解决这种需求,还是在数据库里加拼音字段是最好最快的解决方法了么?
最方便/高性能的手段肯定是加字段,生成拼音时可以预先提取 zs 这样的数据。
我们的后台有类似的功能,输入管理员的部分 id 模糊查询。 数据库部分不动,独立用一个基于 redis zset 的方案。 定时任务,遍历所有id, 创建对应的 reverse set;zset 的 score 可以自己定义,也可以都是零,redis 就会字典序排序了。 例如有id: [ pl, le], 创建如下 zset
hitedId 就是模糊命中的 id了
@stormslowly 嗯,谢谢