我想将我的Rails项目从Solr切换到Elastic Search(只是为了好玩),但我不确定索引文档的最佳方法。现在我正在使用Resque(后台工作)完成这项任务,但我一直在挖掘Elastic Search上的“河流”,看起来很有希望。
对此主题有经验的人可以给我一些提示吗?表现结果?伸缩性?
提前致谢
P.S:虽然目前只是为了好玩,但我还是想从Solr迁移到Elastic Search,这是一个更大的生产项目。答案 0 :(得分:1)
很难从您的问题中了解您的情况/担忧。使用elasticsearch,您可以推送数据,也可以使用河流来提取数据。
当您推送数据时,您可以控制您的支线如何操作,如何处理文档,整个管道的外观(收集数据>语言分析>等>索引)。使用河流可能是一种方便的方法,如何从某个源(CouchDB,RDBMS)快速将一些数据拉入弹性搜索,或者连续提取数据,例如。来自RabbitMQ流。
由于您正在考虑在Rails项目的上下文中进行弹性搜索,因此您可能会在某些时候尝试Tire gem。假设您正在使用与ActiveModel兼容的ORM(对于SQL或NoSQL数据库),导入就像以下一样简单:
$ rake environment tire:import CLASS=MyClass
有关详细信息,请参阅Tire文档和relevant Railscasts episode。