java如何实现拼音首字母检索汉字
用的sql server2008数据库,一张表中有个字段存入的全部是汉字,想通过每个汉字的拼音的首字母进行查询,如何实现?1、首先增加一个字段,用来存入每个汉字的拼音的首字母这种方式不考虑。
2、如果用数据库创建函数的方式实现,但是多音字没办法解决?
3、java中有没有直接可以用的工具类呢?
希望有高手帮忙实现这个功能,有实例代码就更好更方便了,非常感谢! --------------------编程问答-------------------- 这样的工具有,但是你用数据库存汉字做什么? --------------------编程问答-------------------- 我只是想用汉字的首字母进行查询,类似与百度搜索引擎。如图 --------------------编程问答-------------------- 很明显,数据中应该有三个字段是用来做索引的,字段一:每一个词的拼音,字段二:每一个词的首字母,字段三每个词的汉字,在like的时候同时like这三个字段 --------------------编程问答-------------------- pinyin4j.jar 将汉字转换为拼音,你可以逆向 --------------------编程问答--------------------
我理解你的意思,但是数据不是由我们自己存入数据库中的,所以我们自己没办法把每个词同时转换为首字母存入 也不能同时把每个词的拼音存入。 --------------------编程问答--------------------
这个你有多音字的处理方式么? --------------------编程问答-------------------- 我感觉这个挺复杂的。有点类似做输入易做图能。需要考虑频繁词,词组,多音多义等等问题。Google有Google拼音,百度有百度拼音,sogou有sogou拼音。他们都有词库可以直接用。
用jar包处理我感觉是不太靠谱的,这个必定要走数据字典。 --------------------编程问答-------------------- 可以扩展一个表A,存储汉字的首字母和原数据表B中的id。
在进行查询的时候,假如输入cq,那就查A中like cq 的记录,再根据A中存的B.id查询B的记录,便可取到字段实际含义。
扩展包的数据同步,有以下方法:
1、使用数据库触发器(传闻性能不高);
2、获取到批量的记录,定时执行更新,比如spring中配置job任务。
JAVA获取汉字拼音或拼音首字母 --------------------编程问答-------------------- 肯定有索引对应的 --------------------编程问答--------------------
我们最近刚做项目,也是用这个实现的,多音字本身就没太多办法,莫非楼主希望能够根据语义来识别每个字在特定场景的读音吗?
补充:Java , Web 开发