千万级搜题小程序开发实战

最近开发了一起搜题小程序,总结一下涉及的技术点及存在的问题,以及搜题接口分享给大家。

搜索试题接口:https://www.17st.cn/openapi/question/search?token=6O7ddw7v&q=马克思

查看答案接口:https://www.17st.cn/openapi/question/answer?token=6O7ddw7v&id=47OYmd1X


体验一起搜题:https://www.17st.cn/images/wxcode.jpg

一、数据采集建立题库,怎样才能采集到试题答案。
选择行业排名靠前的几个网站作为目标网站;
分析目标网站是否有防采集机制。比如
1、是否需要登录注册才能查看答案
2、是否对登录用户有次数限制
3、是否对IP有访问次数限制等

二、数据清洗入库后,怎么才能搜索到。
使用solr做全文检索,采集的题库去重后仍然有1000多万记录,数据库模糊查询自然行不通。
列表页通过solr负责分词搜索及排序,只索引试题题干和id,详情页通过试题主键id查询数据库。
前期性能基本没什么问题,生产环境压力测试5个并发请求无压力,勉强支撑10个并发。


三、数据返回接口设计
1、id生成避免使用mysql自增长,容易被爬虫通过遍历id采集。
2、接口添加身份标识,对身份标识鉴权,限制访问次数。
3、对接口每天总调用次数做限制
4、对答案等关键数据加密


四、solr设计,数据库设计等具体实现下篇继续...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值