微信公众号开发--善忘影视(十一)
善忘影视十一
随着抓取的数据越来越多,影视记录表中的数据已经达到了4w多的数据,虽然数据不是很多, 但是搜索结果却超过了好几秒,虽然也存在nginx配置的问题,时间设置的比较短,很容易就超时了,但是就算设置长一些,对于微信结果返回来说,超过5秒就不能正确的返回信息了。
为了解决加载速度缓慢的问题,使用chrome查看加载时间,发现主要是后台的速度慢,所以通过两个方面的优化。
针对列表数据,按照时间排序的功能,对时间添加索引
对于通过关键字搜索的功能,mysql数据库不能很好支持
%关键词%
,这种模糊查询,以前玩过一段时间lucene,所以打算用这个优化查询,提高查询速度。
如上图中的主页和最新,两个列表功能,打开速度慢,主要是查询的时候,语句中没有添加索引,导致了查询结果太慢。
不管是通过客户端,还是sql命令执行,字段加上索引,打开速度比以前快了不是一点点
针对微信公众号搜索框搜索内容,主要搜索的是title标题,所以只对title做索引操作,lucene也只有两个字段,就是id,title信息
主要的步骤就是先对title生成索引,使用的是ansj分词器,通过lucene搜索到对应的记录ID,然后通过id去查找数据数据,提高几十倍的查询效率。
测试公众号二维码: