MongoDB河VS RabbitMQ河VS后台工作(resque)

时间:2012-09-22 20:21:22

标签: solr indexing elasticsearch resque

我想将我的Rails项目从Solr切换到Elastic Search(只是为了好玩),但我不确定索引文档的最佳方法。现在我正在使用Resque(后台工作)完成这项任务,但我一直在挖掘Elastic Search上的“河流”,看起来很有希望。

对此主题有经验的人可以给我一些提示吗?表现结果?伸缩性?

提前致谢

P.S:虽然目前只是为了好玩,但我还是想从Solr迁移到Elastic Search,这是一个更大的生产项目。

1 个答案:

答案 0 :(得分:1)

很难从您的问题中了解您的情况/担忧。使用elasticsearch,您可以推送数据,也可以使用河流来提取数据。

当您推送数据时,您可以控制您的支线如何操作,如何处理文档,整个管道的外观(收集数据>语言分析>等>索引)。使用河流可能是一种方便的方法,如何从某个源(CouchDB,RDBMS)快速将一些数据拉入弹性搜索,或者连续提取数据,例如。来自RabbitMQ流。

由于您正在考虑在Rails项目的上下文中进行弹性搜索,因此您可能会在某些时候尝试Tire gem。假设您正在使用与ActiveModel兼容的ORM(对于SQL或NoSQL数据库),导入就像以下一样简单:

$ rake environment tire:import CLASS=MyClass

有关详细信息,请参阅Tire文档和relevant Railscasts episode