我有一个用于管理产品的应用程序。在该应用程序中,我大约有30000个产品,每个产品具有大约80个属性,总共具有2000多种不同的属性(一些简单的属性,例如布尔值,另一种复杂的属性,例如枚举值)。我想创建一个功能,以创建由一系列规则构成的复杂过滤器,并返回与规则匹配的产品以及使产品通过过滤器的规则。
例如:
R1 Products where category = chair
And
R2 Products where colour = red
Or
R3 Products where colour = blue
And
R4 Products where material = wood
Return example { chair1(R1,R2,R4), chair2 (R1,R3,R4)...}
我对数据库结构或技术没有任何限制(我更喜欢Postgres),因为我能够以任何需要的方式重新生成数据库。而且我没有时间限制,因为过滤器将在后台执行,并且在结果准备好后会通知用户。
哪种方法可以解决此任务?
我一直在阅读有关决策树的信息,但也许我过度设计了决策树 解决方案...
谢谢