我正在使用Elasticsearch来获取ID到某些值的映射,但是至关重要的是,保持ID顺序的结果顺序。
例:
def term_mapping(ids)
ids = ids.split(',')
self.search do |s|
s.filter :terms, id: ids
end
end
res = term_mapping("4,2,3,1")
Run Code Online (Sandbox Code Playgroud)
结果集合应包含ID顺序为4,2,3,1的对象...
你有什么想法我能做到吗?
有一些很好的地理编码插件(例如geokit),但你能推荐一个googlemaps插件用于rails中的"视图"吗?
我之前使用过YM4R/GM,但我不知道它是否仍然是最新的......
我想为我的数据库实体构建一个类似 git 的版本控制系统。
这些模型是:
Commit
parent_commit_id
Change
entity_id
commit_id
modifier (added, deleted, modified)
Entity
Run Code Online (Sandbox Code Playgroud)
实体永远不会被真正删除,因此用户可以撤消提交并最终得到有效状态。
听起来很简单,但是:
因为我们只是存储更改,所以必须计算或存储当前状态。
选项 1:保存每次提交的完整状态意味着我不仅会存储提交中的修改、添加和删除,还会存储每个未更改的实体。我认为这并不是一个真正的选择,因为系统运行时将有超过 2000 万个实体。
选项 2:使用递归公用表表达式计算当前状态。不知道这个速度够不够快
选项 3:在一段时间后执行清理(如 git gc)。这意味着我实际上会删除清理时不再有效的所有实体。这并不是一个真正的选择,因为我希望能够看到所有更改并返回到这些更改。
选项 4:使用图形数据库 (neo4j)?它能以合理的性能处理这样的规格吗?
你还有其他建议吗?
我们目前正在开发一个使用i18n的rails项目,我们的日期问题很小:
# on my mac
"10.06.2008".to_date
# produces => Tue, 10 Jun 2008
# on a friends mac and on the production server
"10.06.2008".to_date
# produces => ..., 06 Oct 2008
Run Code Online (Sandbox Code Playgroud)
如您所见,日期不对.我们检查了一切.locale.yml(de.yml)在两个系统上都很好,并且也设置了default_locale.我们系统之间的唯一区别是ruby版本.我正在运行ruby 1.8.7并且他运行1.8.6.这可能是这种行为的原因吗?
任何帮助,将不胜感激.
您有什么建议如何使用cancan执行弹性搜索结果(使用轮胎)的授权?
我的方法是让cancan加载并授权模型并将所有授权的id传递给轮胎搜索,或者反之亦然.
你怎么看?