Module: Sunspot::Rails::Searchable::ActsAsMethods
- Defined in:
- lib/sunspot/rails/searchable.rb
Instance Method Summary collapse
-
#searchable(options = {}, &block) ⇒ Object
Makes a class searchable if it is not already, or adds search configuration if it is.
-
#searchable? ⇒ Boolean
This is left for compatibility reasons.
Instance Method Details
#searchable(options = {}, &block) ⇒ Object
Makes a class searchable if it is not already, or adds search configuration if it is. Note that the options passed in are only used the first time this method is called for a particular class; so, search should be defined before activating any mixins that extend search configuration.
The block passed into this method is evaluated by the
Sunspot.setup method. See the Sunspot documentation for
complete information on the functionality provided by that method.
Options (+options+)
:auto_index
Automatically index models in Solr when they are saved.
Default: true
:auto_remove
Automatically remove models from the Solr index when they are
destroyed. <b>Setting this option to +false+ is not recommended
</b>(see the README).
:ignore_attribute_changes_of
Define attributes, that should not trigger a reindex of that
object. Usual suspects are updated_at or counters.
Example
class Post
include Sunspot::Rails::Mongoid
searchable do
text :title, :body
string :sort_title do
title.downcase.sub(/^(an?|the)/, '')
end
integer :blog_id
time :updated_at
end
end
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/sunspot/rails/searchable.rb', line 59 def searchable( = {}, &block) Sunspot.setup(self, &block) extend ClassMethods include InstanceMethods class_inheritable_hash :sunspot_options unless [:auto_index] == false before_save :maybe_mark_for_auto_indexing after_save :maybe_auto_index end unless [:auto_remove] == false after_destroy do |searchable| searchable.remove_from_index end end self. = end |
#searchable? ⇒ Boolean
This is left for compatibility reasons. for Mongoid, the searchable class method gets defined only when the ::Mongoid document is included. At that point, searchable? will return true
Returns
false
89 90 91 |
# File 'lib/sunspot/rails/searchable.rb', line 89 def searchable? false end |