小编spa*_*pas的帖子

保持ID顺序与查询相同

我正在使用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的对象...

你有什么想法我能做到吗?

elasticsearch tire

5
推荐指数
1
解决办法
1521
查看次数

是否有任何好的googlemaps插件用于rails?

有一些很好的地理编码插件(例如geokit),但你能推荐一个googlemaps插件用于rails中的"视图"吗?

我之前使用过YM4R/GM,但我不知道它是否仍然是最新的......

google-maps ruby-on-rails

4
推荐指数
1
解决办法
292
查看次数

像 git 一样存储更改的提交历史记录

我想为我的数据库实体构建一个类似 git 的版本控制系统。

这些模型是:

Commit
  parent_commit_id

Change
  entity_id
  commit_id
  modifier (added, deleted, modified)

Entity
Run Code Online (Sandbox Code Playgroud)

实体永远不会被真正删除,因此用户可以撤消提交并最终得到有效状态。

听起来很简单,但是:

  • 用户每次点击都会生成一次提交(性能非常重要)
  • 每次提交都会有大约 100 处更改(修改、添加或删除)

因为我们只是存储更改,所以必须计算或存储当前状态。

选项 1:保存每次提交的完整状态意味着我不仅会存储提交中的修改、添加和删除,还会存储每个未更改的实体。我认为这并不是一个真正的选择,因为系统运行时将有超过 2000 万个实体。

选项 2:使用递归公用表表达式计算当前状态。不知道这个速度够不够快

选项 3:在一段时间后执行清理(如 git gc)。这意味着我实际上会删除清理时不再有效的所有实体。这并不是一个真正的选择,因为我希望能够看到所有更改并返回到这些更改。

选项 4:使用图形数据库 (neo4j)?它能以合理的性能处理这样的规格吗?

你还有其他建议吗?

postgresql neo4j

3
推荐指数
1
解决办法
1588
查看次数

rails i18n日期问题

我们目前正在开发一个使用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.这可能是这种行为的原因吗?

任何帮助,将不胜感激.

ruby ruby-on-rails internationalization

2
推荐指数
1
解决办法
1144
查看次数

使用cancan授权弹性搜索结果

您有什么建议如何使用cancan执行弹性搜索结果(使用轮胎)的授权?

我的方法是让cancan加载并授权模型并将所有授权的id传递给轮胎搜索,或者反之亦然.

你怎么看?

cancan ruby-on-rails-3 elasticsearch tire

2
推荐指数
1
解决办法
800
查看次数