diff --git a/plugins/elasticsearch/lib/elasticsearch_helper.rb b/plugins/elasticsearch/lib/elasticsearch_helper.rb deleted file mode 100644 index 66cd907..0000000 --- a/plugins/elasticsearch/lib/elasticsearch_helper.rb +++ /dev/null @@ -1,31 +0,0 @@ -module INDEXED_MODEL - include Elasticsearch::Model - include Elasticsearch::Model::Callbacks - - def self.included base - base.extend ClassMethods - end - - module ClassMethods -# settings index: { number_of_shards: 1 } do -# mappings dynamic: 'false' do -# self::SEARCHABLE_FIELDS.each do |field, value| -# indexes field -# end -# end -# -# self.__elasticsearch__.client.indices.delete \ -# index: self.index_name rescue nil -# -# self.__elasticsearch__.client.indices.create \ -# index: self.index_name, -# body: { -# settings: self.settings.to_hash, -# mappings: self.mappings.to_hash -# } -# -# self.import -# end - end -end - diff --git a/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb b/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb new file mode 100644 index 0000000..05cf927 --- /dev/null +++ b/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb @@ -0,0 +1,25 @@ +module ElasticsearchIndexedModel + + def self.included base + base.send :include, Elasticsearch::Model + base.class_eval do + settings index: { number_of_shards: 1 } do + mappings dynamic: 'false' do + base::SEARCHABLE_FIELDS.each do |field, value| + indexes field + end + end + base.__elasticsearch__.client.indices.delete \ + index: base.index_name rescue nil + base.__elasticsearch__.client.indices.create \ + index: base.index_name, + body: { + settings: base.settings.to_hash, + mappings: base.mappings.to_hash + } + end + end + base.send :import + end + +end -- libgit2 0.21.2