将Elasticsearch与Activerecord集成

时间:2013-01-25 08:02:12

标签: ruby-on-rails ruby elasticsearch

在Java中使用Hibernate Search实例时,您将JPA插入,删除和更新事件绑定到搜索引擎,以便它自动插入,更新和删除搜索引擎索引中的元素,同时插入,更新或删除它数据库。在Ruby和使用活动记录时是否可能相同?或者您是否需要手动注册观察员?

2 个答案:

答案 0 :(得分:3)

至少有三个值得注意的宝石允许您将Elasticsearch与ActiveRecord集成,有些(如elasticsearch-rails,flex,retire)附带ActiveRecord的回调挂钩,它会自动添加,更新或销毁相应操作的弹性搜索记录

  1. elasticsearch-rails:新默认
  2. flex:非常棒的维基
  3. stretcher:亚军,新选项
  4. 所有这些都得到积极维护和发展。一个仍然广泛使用但不再维持的宝石退休。

    1. retire:广泛使用,但不再支持

答案 1 :(得分:0)

Tire Rubygem带有强大的ActiveModel/ActiveRecord integration

快速启动的最佳选择是生成示例Rails应用程序:

rails new searchapp -m https://raw.github.com/karmi/tire/master/examples/rails-application-template.rb

此外,Railscasts episode还提供了集成的快速概述。轮胎自述文件和集成测试套件包含所有信息。