- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想发布一个集合,其中根据文档的字段和用户确定的上下文的组合对文档进行评分;并且返回的结果是根据这个分数排序的,并且可能仅限于最前面的结果。
This显示如何在发布时对集合添加 transform
过滤器。但是,我不确定 transform
是否是计算我想在排序中使用的字段的有效方法。
最后,如果使用 Mongo map reduce 根据计算的分数快速返回推荐项目,这将是非常棒的,这可以并行完成。
@brett-mclain pointed out如何在纯 Mongo 中完成一些 map reduce 排序。有几个Meteor包裹out there扩展 Meteor 集合,但我找不到如何在 Meteor 出版物中使用它们(与方法相比)此外,here map reduce 输出被发送到另一个集合,该集合显然在每次调用该方法时都被覆盖。
这里大概是我想实现的逻辑:
/* Server */
Meteor.publish('getRecommendedItems', function() {
var u = Users.findOne(this.userId);
var scoreItem = function(item, u) { ... };
return Items.find(
{},
{
transformInParallel: function(doc) {
doc.score = scoreItem(doc);
},
sort: {score: -1},
limit: 10,
}
);
});
/* Client template*/
Template.templateName.onCreated(function() {
this.subscribe('getRecommendedItems');
this.items = Items.find({}, sort: {score: -1});
});
除了 score
可以在客户端访问而无需在那里进行任何计算。
在 Meteor.methods
中做自定义事情似乎更容易,但是 Meteor.publish
感觉更像是做这件事的自然场所;因为它是 Meteor 神奇 react 发生的地方。
最佳答案
transformInParallel: function(doc) {
doc.score = scoreItem(doc);
},
sort: {score: -1},
limit: 10,
这将导致全数据库扫描。
时间衰减解决方案实际上是常见的编程测试问题,并不真正适合您的用例。
如果你的规模很小,只需预先计算一整套
{score: ..., userId: ..., item: ...}
单独集合中的文档。像这样的 10 亿个小文档的索引将完全适合单个数据库服务器的 RAM;这最多适用于例如30,000 个项目和 30,000 个用户。
如果您的需求超出此范围,则必须考虑可以在用户之间共享分数计算的哪一部分。如果无法共享计算的任何部分,您应该阅读有关 Facebook 如何在传统数据库上实现社交图的信息。
关于javascript - Meteor - 发布按个性化分数排序的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35046576/
我在 Sitecore 个性化方面遇到一个问题。 问题:我想应用条件 [产品代码可以是 ( A,B,C,D ) 中的任何内容,但角色必须是“pp”。 为此,我的个性化条件如下:在这种“与”条件下不执行
我正在编写我的个人外观和感觉,现在我想将我的个人高度设置为 JTabbledPane 内的选项卡。我找到了这个post使用 UIDefauls 来设置 Insets,效果很好,这就是结果 但是我注意到
我用它来浏览 textView textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 但现在我
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this q
我正在制作这个具有标签栏的 iOS 应用程序 (Swift 3),但我没有找到一种方法来按照我想要的方式对其进行个性化设置。我想在每个图标之间添加线条,并且我希望它在被选中时显示为红色,如下所示: 最
我今天开始使用 Atom。这很好,但我有几个问题: 语法主题:我安装了一些语法主题,但我发现不能修改编辑器字体颜色,只能修改样式和大小(从主设置面板)。有什么解决方法吗? Markdown 预览:我无
当我在 guide 的帮助下安装 Nominatim 时,它会自动创建一个网站。我想知道如何才能按照自己的意愿更改网站。 osm@debian:/var/www/nominatim$ ls css
我想个性化 JXDatePicker。更具体地说,我想在自己的位置上创建自己的操作按钮。我试图提取包含的 JButton,但是当我尝试将它添加到任何 JPanel 时,它只会添加空白空间。 JXDat
我的雇主将 MOSS 2007 用于我们公司的内部网。它仅在安全的 http 上运行,也通过 ISA 暴露给外部世界。我目前有一个向我们的网站添加转发 URL 的请求,这样就会发生如下情况: intr
我正在制作折线图,经过一些谷歌搜索后我想出了这个: function maxValue(input) { var current = 0; for (var i
我想个性化 Google map 上的位置徽章(使用 API)。我知道可以使用 CSS 或图像更改徽章的外观。但是我该怎么做呢? 这就是我想要的: 小矩形为普通 View ,大矩形为点击 View (
我有计算结果,我正在尝试用个性化的 x Axis 绘制它。 import numpy as np import math import matplotlib.pyplot as plt maxPar
我正在使用 4 个数据集组,例如:- 电影 手机 笔记本电脑 交流 在每个 datasetGroup 中,我们有 3 个数据集,名称分别为 Users、Item 和 Item_User_INTERAC
海, 我想了解asp.net个性化以及如何实现此功能?你能给我推荐一个演示这个概念的例子或教程吗?我认为这是 ASP.NET 中非常有用的功能。我希望了解更多? 最佳答案 摘自文章: The simp
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines准则。它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,
我必须为我的火车类覆盖 equals,它具有三个属性:数字、货车和类型;只有编号相同的两列火车才相等。我必须测试我的火车 SET 中是否有重复项。我怎样才能做到这一点 ?这是我到目前为止所做的: pu
有没有办法让eclipse/swing的textField这样? 最佳答案 您可以向文本字段的边框添加哑光外观,如下所示: JTextField textField = new JTextFi
我想要我的一个 Controller 上的 #show 操作的虚 URL。我已经设置了这条路线: match "/:username" => "users#show", as: :show_user
我现在正在学习 CSS 的基础知识,但在我的测试页面上发现了一些奇怪的东西。我正在写下 ::first-letter 的用途和 ::first-line只是出于习惯,我选择了全部。出于某种原因,在选择
我是一名优秀的程序员,十分优秀!