✏️ 编者按:
想要量身定制一款专属你的衣橱?想要亲自设计颜色和布局?内部的隔板、抽屉、网篮要什么尺寸?挂衣杆和裤架也不能少?甚至……你还想同时对比多个类似的衣橱?
在这个家喻户晓家具和家居零售企业,你除了可以选购现成的家具,还能线上 DIY,拼接组装你想要的家具零件。在用户设计完成后,在线商城还会贴心地推荐多个相似家具供顾客参考。
这个聪明的设计和推荐平台是如何实现的?Milvus 社区有幸邀请到了来自该外资家居企业的工程师陈晨,与大家分享 Milvus 数据库在家具行业中的应用。
🌟 嘉宾简介:
陈晨,Leader of data smart offering platform,负责构建智慧数据生成平台,毕业于复旦大学,热衷探索新技术,迭代、重构和升级已有系统。
业务背景

准备数据,定义零件 在线召回,通过排序找到满足用户需要的数据 一些补充的业务逻辑,随后最终交付给用户
技术选型


Elasticsearch 负责一些较粗的召回和简单筛选,这些数据来自多个数据源
对基于一些规则生成的向量,使用 Milvus 数据库进行向量距离计算,然后再做排序
Backend 负责 BU、business insight 做数据后处理,这样就完成了数据的最终交付
由于家具是一个立体的空间概念,需要多维度描述一件家具的结构,很难用传统的标量数据(如 SKU)描述全部信息。所以,我们需要选择了一款迭代迅速、兼容性好、使用方便的向量数据库完成向量数据的存储和检索,下图是我们对 Elasticsearch、 Faiss、 Milvus 数据库等向量搜索解决方案的横纵向测评,基于性能、稳定性、易用性等因素综合考量,我们最后选择了向量数据库 Milvus。

架构与数据链路

定义 items,将物理空间上的零件表示为计算机能够理解的 item
数据生成
对家具进行了特征工程,包括标签选取、表征 encoding
召回数据准备,将数据转成可搜索的数据结构
数据排序准备,此时会完成 embedding 以及数据集管理等工作
Backend 步骤中,设计工具将后台收到的 query 与经过隐私模糊处理的用户画像拼接,用于组织后续召回、排序的参数和策略 Query understanding 步骤中,平台根据用户的需求和预先配置的参数,组织召回策略和排序参数 Search platform 将解析出来的结果组成 DSL,通过多个数据集进行召回 Ranking 步骤中,平台根据预先定义的规则和表征信息进行混合打分和结果调整 回到 Backend 步骤,补全数据,根据运营需求重新整理数据返回给前端
使用示例


整个平台的资源配置由 Elasticsearch、PostgreSQL(存储配置信息)、OSS(下游计算及展示信息)、Milvus(存储向量表征信息) 组成。

总结与展望






