我有一个汽车模型的搜索数据库:" Nissan Gtr"," Huynday Elantra"," Honda Accord"等......
现在我还有一个用户列表和他们喜欢的汽车类型 user1喜欢:carId:1234,carId:5678等...
鉴于用户1我想要归还他喜欢的所有汽车,它甚至可以是0甚至是hundreads。
在Solr或可能是另一个" nosql"中建模的最佳方法是什么?可以帮助解决这个问题的系统。
我使用Solr,但如果可以,我有机会使用另一个系统,如果有意义的话。
编辑: Solr解决方案是加速缓慢(也许我们可以尝试嵌套)。目前使用连接表的MySQL解决方案有超过20亿行。
答案 0 :(得分:1)
所以,你只想在User-> Cars之间存储一个映射,并根据用户检索汽车......听起来非常简单:
根据用户ID,您检索'carsliked'字段,并通过交叉集合连接获取汽车详细信息
您还可以使用嵌套对象在每个用户内部存储每个喜欢的汽车(包含有关它的所有信息),但有点复杂。作为加分,您不需要查询的连接。
Solr会允许你做更多的事情,例如,给一辆车,用户喜欢它? Elasticsearch将以完全相同的方式工作(可能还有许多其他工具,考虑到您的用例看起来有多简单)。