我有 tire格式中的单个 ActiveRecord 模型正常工作
setting do
...SETTINGS...
mapping do
...INDEXES...
end
end
如果可能的话,我想在多个模型之间共享这些设置。我无法从初始化程序中找到任何方法。
我怎样才能做到这一点?
最佳答案
鉴于 Ruby 的灵 active ,这里有很多可用的选项。最明显的:
相关片段:
module Searchable
def self.included(base)
p "Included in #{base}"
base.class_eval do
include Tire::Model::Search
tire do
mapping do
indexes :title, type: 'string', analyzer: 'snowball'
end
end
end
end
end
class Article < ActiveRecord::Base
include Searchable
end
class Person < ActiveRecord::Base
include Searchable
end
这实际上不必在初始化程序中——您可以将它放在任何可从 Rails 应用程序加载的位置。
关于ruby-on-rails - 在 ActiveRecord 模型的 Elasticsearch 索引之间共享设置(轮胎 gem),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632975/