您的位置:首页 > Web前端

电商SKU选择优化维度-倒排索引(搜索引擎原理)

2017-11-10 18:58 239 查看

SKU属性假定为 5维

数量  SKUID 颜色    容量      保修期限        屏幕大小    电池容量
2       1       红色  4G      1 month     3.7         1500mAh
3       2       白色  8G      3 month     4           1900mAh
0       3       白色  8G      3 month     4.3         1900mAh
5       4       黑色  16G     6 month     4.3         2100mAh


当选择 屏幕尺寸 4.3寸时

能选择的颜色 (白色,黑色)

能选择的容量 (8G,16G)

电池容量 (1900mAh,2100mAh)



计算维度维5维 复杂度维 N的五次方。

如何将计算维度降维成了关键。

这里应用 搜索引擎技术(倒排索引 )来处理复杂的多层次搜索问题。

倒排索引 的关键在于索引的建立.



按图所示将所有的Key属性作为关键字,将包含这些属性的SKU做为文档存储在对应的List中。

1、单SKU选择情况

当搜索 白色 出现白色的SDK 为 2和3

这样可以得到 以下属性

白色 8G 3 month 4 1900mAh

白色 8G 3 month 4.3 1900mAh

但是因为数量为0不可以选所以最终得到的属性为SKUID = 2

白色 8G 3 month 4 1900mAh

其他的属性应该全部不可操作。

2、出现多SKU选择时的情况

例如 搜索 白色 和4.3寸

得到的文档为 (2,3),(3,4) 取交集 为 (4)。

得到最终能选择的属性

3、根据两种情况分析

1、使用倒排索引后复杂度降级为一维,大大降低了难度。

2、当出现多选择的情况时,利用索引文档交集结果可以排除大量的无用条件,降低复杂度

总结: 使用次设计方案 可以大大降低开发的难度和UI的数据交互操作。

并大大的节约CPU运行维度。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息