数据筛选功能,一般如何设计的好?

如图,从后端、数据库等层面如何设计该功能

image.png

阅读 1.4k
2 个回答

对于这种,一般从数据库设计,可以设计一个“标签”系统。
户型、风格、面积、造价这些作为标签组,对应的就是标签值。

把标签值和具体的实体关联起来。

查询的时候,仅从数据库查询的话,就是关联或者套子查询就好了。

不过如果数据量较大的话,建议将数据填充到 ES 之类的进行搜索。

纯mysql系的话...
比较便宜的做法是tag一表分组一表数据一表
数据表一列text用逗号分隔存储tagId
find_in_set一把梭, 新的json系函数也可以用

然后反正只有五项的话, 怼字段也不是不可以, 不过注意枚举类性能其实不如int类+手工映射/位操作

性能撑不住了建个tag到数据的关联表查找关联表即可

没精度要求的话丢个全文本引擎直接搜也没啥, 这年头电商的全文本不都随便搞的...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题