如何做大数据量的实时层叠筛选,使用什么技术,实现思路是什么?

发布于 2022-01-03 05:07:51 字数 262 浏览 851 评论 6

前提:现有一个表近2亿条数据,例如表字段有“ID”,“姓名”,“年龄”,“所在省份”,“性别”等。

需求:将上述表2亿条数据,根据年龄、所在省份、性别这3个条件,对该表中数据进行筛选出符合条件的数据,要求响应速度快,实时查询。例如我们平时逛淘宝购搜索商品的时候,对商品按照不同的条件进行多项筛选,展示符合条件的商品列表。

还有淘宝和京东商品搜索中的筛选是怎么实现的

 

本人道行太浅,还请各位大牛帮忙解答,最好能给出实现思路,谢谢谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

甜柠檬 2022-01-07 21:09:59

一楼说的不完全错,说对了一半,

两点:1.修改表设计,把原来的用户表拆分至少三张表:

1).关键字表,把需要查询的字段的所有内容都做一次分词提取出关键字放入此表。

2). 主表文档化结构即只存两个字段,Hash和json将其它字段如名字,年纪,所在省份序列化成json存到这个字段。

3)主表关键字关系表即关键字表里与主表的主键关联。

打比方 :姓名:张国庆。那张国庆因为划词出来。存到关系表里形成记录id :1 keyword:张。id:2 keyword国庆。两条

这时 张国庆这条主表记录 hash值123,json内容{name:“张国庆”。。。},这时就需要在第三张表中加两条记录。

key_id:1 user_id :123   

key_id:2 userid:123

2.查询的时候根据关键字找到其编号,然后在关系表里找到出现这个关键字的记录。

而不是去like 字段,这样别说2亿条,2百亿条一点问题都没有。

当然这个也有一个问题,就是生成关键字的会比较花时间,而且新增记录需要增量生成(这就需要算法)。

但是优点在于查询速度比一般查询要高10倍。这也就是索引的思想。所以我说1楼对了一半。

孤独患者 2022-01-07 20:06:25

按照注册时间写入到时序数据库 查询速度应该在120ms左右

坐在坟头思考人生 2022-01-06 23:36:06

分裤分表

裸钻 2022-01-05 20:27:53

隐隐记得哈,记不太清了,希望没记错,别在帮了倒忙。

长安忆 2022-01-04 11:35:22

我记得好像看到有正则关键字匹配项,是做搜索时用的。

明媚如初 2022-01-03 20:29:01

哥们,全文检索不合适吧,2亿条数据呢。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文