智能音乐搜索功能实现(一)

     项目涉及到搜索功能,花了不少时间,现在总结一下。音乐搜索分为两种方式,一种是联想词搜索,

一种是直接搜索。本节主要讲联想词对应的字典表和联想词的生成。

    首先是联想词对应的字典表(dict):包含pinyin,simple,type字段。汉字全拼,缩写词,多音字读音都

放到pinyin列中,simple放歌曲或歌手名,type为歌曲歌手标识。

    music表中先把所有歌曲刷到dict中,再把歌手也刷进来。这样字典表做成了,能够对歌手歌曲模糊搜索了。


    下一步是实现联想。用户所有输入信息都转换成拼音,英文不变。下面是联想步骤:

1、将用户输入汉字转换成拼音
2、当关键词小于三位,优先匹配歌手:根据字典表的pinyin字段进行模糊匹配,关联到歌手/歌曲表中的
歌手字段。根据日志表中每首歌的点击量,按照热度推荐歌手。
3、当歌手不足十位时,用歌曲来补。查询流程类似:根据字典表的pinyin字段进行模糊匹配,关联到
歌手/歌曲表中的歌曲字段。根据日志表中每首歌的点击量,按照热度推荐歌曲。
4、当关键字大于三位,按热度匹配歌曲。
注意:联想词搜索,我们能在程序中确定推荐的联想词是歌手还是歌曲。


联想词得到以后,就能着手进行搜索实现了。见第二篇博客~

你可能感兴趣的:(杭研项目总结)