我在寻找一个战略提出一个个人用户的评价对solr文件。ie。用户得以把得到的评价1-5的文件和我想本,回到他们,因为他们搜索。

我可以想到的两种一般性办法。

  1. 储存在我的数据库和查询后获得solr结果和合并数据中业务的逻辑。

  2. 不知怎的,也存储这些评价的信息,solr所以它再回来,与数据给予用户。所有我能想到的是属性的名字,与用户名和一个值的评价。

假设一个庞大的用户基础,我担心的办法2可以得出的手。怎么"广泛"你可以去与solr文件?你可以把数以万计的属性,在一个文件?将绩效的影响仍然留下办法2比第二个打一个sql数据库(方法1)?

是否还有其他办法,我没有想到的?

有帮助吗?

解决方案

我已经使用的方法数1。由于数额很低(可能低于1000)每户,我只是缓所有他们的收视率应登录并存储在存储器。然后,当表示SOLR的结果,这是非常迅速地应用评级在需要的地方。

这样可以节省你有一个数据库呼吁每个结果而不会陷入瘫痪的服务器太多。另外,当一个用户更新它们的评级,你只是更新数据库并使其失效的高速缓存。你不需要做更新电话给SOLR的文件。

其他提示

第三个选择可能会增加一个额外的Solr索引,包含该文件的标识、用户标识和分aattributed对该文件的用户。然后,它将非常简单和迅速查询,这是你的文件及用户。

我会去2号,只有定期更新的等级。这样你可以混合的评价进相关性的分数计算,由Solr。

我想这取决于如果你喜欢推荐/签交易,那里的上/下投票大大影响是什么示,或者如果它只是另一个因素评分,比如如何新的文件。如果它只是另一个因素,然后更新文件,一旦一天、每周或每月一次在安静的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top