# File lib/sunspot/rails/searchable.rb, line 493 def indexable? # options[:if] is not specified or they successfully pass if_passes = self.class.sunspot_options[:if].nil? || constraint_passes?(self.class.sunspot_options[:if]) # options[:unless] is not specified or they successfully pass unless_passes = self.class.sunspot_options[:unless].nil? || !constraint_passes?(self.class.sunspot_options[:unless]) if_passes and unless_passes end
Updates specified model properties in Solr. Unlike Sunspot::Rails::Searchable::ClassMethods#solr_atomic_update you dont need to pass object id, you only need to pass hash with property changes
# File lib/sunspot/rails/searchable.rb, line 449 def solr_atomic_update(updates = {}) Sunspot.atomic_update(self.class, self.id => updates) end
Updates specified model properties in Solr and immediately commit. See solr_atomic_update
# File lib/sunspot/rails/searchable.rb, line 457 def solr_atomic_update!(updates = {}) Sunspot.atomic_update!(self.class, self.id => updates) end
Index the model in Solr. If the model is already indexed, it will be updated. Using the defaults, you will usually not need to call this method, as models are indexed automatically when they are created or updated. If you have disabled automatic indexing (see ClassMethods#searchable), this method allows you to manage indexing manually.
# File lib/sunspot/rails/searchable.rb, line 433 def solr_index Sunspot.index(self) end
Index the model in Solr and immediately commit. See index
# File lib/sunspot/rails/searchable.rb, line 440 def solr_index! Sunspot.index!(self) end
# File lib/sunspot/rails/searchable.rb, line 480 def solr_more_like_this(*args, &block) options = args.extract_options! self.class.solr_execute_search(options) do Sunspot.new_more_like_this(self, *args, &block) end end
# File lib/sunspot/rails/searchable.rb, line 487 def solr_more_like_this_ids(&block) self.class.solr_execute_search_ids do solr_more_like_this(&block) end end
Remove the model from the Solr index. Using the defaults, this should not be necessary, as models will automatically be removed from the index when they are destroyed. If you disable automatic removal (which is not recommended!), you can use this method to manage removal manually.
# File lib/sunspot/rails/searchable.rb, line 468 def solr_remove_from_index Sunspot.remove(self) end
Remove the model from the Solr index and commit immediately. See remove_from_index
# File lib/sunspot/rails/searchable.rb, line 476 def solr_remove_from_index! Sunspot.remove!(self) end