gem 'tire'
ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL']
class Article
include Tire::Model::Search
include Tire::Model::Callbacks
end
rake environment tire:import CLASS=Article FORCE=true
There are no "known issues" with Tire and Bonsai at the moment. Having trouble with something in particular? Drop us a line at [email protected].
Custom index analyzers must be set at index creation time. Ability to dynamically create, modify and destroy indexes.Bulk import uses cluster-level/_bulk
handler rather than the index-level_bulk
handler, causing bulk imports to fail. Issue 327- Multi-model search is not scoped within the index. Issue 322
Undefined method[]
fornil:NilClass
onindex.settings
. Bonsai shared cluster indices are mapped to a random identifier, whereas Tire expects the logical index name in the_index
response. To be fixed within Bonsai. Email [email protected] if this is affecting you. Issue 386ES Alias API not fully supported in Bonsai. Email [email protected] if you would like to beta test that.
there is a problem with this technique
if your setting the index_name in the class you will run into the problem that the Callbacks are not working since the instance.index != Class.index
the work around for this is to create your own observer for after_save and after_destroy
since I only have 1 model i am using this works for me but it can be pretty tedious if you have multiple model maybe you can use active record observer that is not inferred
read more about it here. http://api.rubyonrails.org/classes/ActiveRecord/Observer.html