Module: Mongoid::Search

Extended by:
ActiveSupport::Concern
Defined in:
lib/mongoid_search/mongoid_search.rb,
lib/mongoid_search/railtie.rb,
lib/mongoid_search.rb

Defined Under Namespace

Modules: ClassMethods Classes: Railtie

Constant Summary collapse

@@match =
:any
@@allow_empty_search =
false
@@relevant_search =
false
@@stem_keywords =
false
@@stem_proc =
Proc.new { |word| word.stem }
@@ignore_list =
[]
@@regex_search =
true
@@regex =

Match partial words on both sides (slower)

Proc.new { |query| /#{query}/ }
@@ligatures =
{ "œ"=>"oe", "æ"=>"ae" }
@@minimum_word_size =
2
@@strip_symbols =
/[._:;'\"`,?|+={}()!@#%^&*<>~\$\-\\\/\[\]]/
@@strip_accents =
/[^\s\p{Alnum}]/

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.classesObject



10
11
12
# File 'lib/mongoid_search/mongoid_search.rb', line 10

def self.classes
  @@classes
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



71
72
73
# File 'lib/mongoid_search.rb', line 71

def self.setup
  yield self
end

Instance Method Details

#allow_empty_searchObject

If true, an empty search will return all objects



15
# File 'lib/mongoid_search.rb', line 15

mattr_accessor :allow_empty_search

#ignore_listObject

Words to ignore



31
# File 'lib/mongoid_search.rb', line 31

mattr_accessor :ignore_list

#index_keywords!Object



123
124
125
# File 'lib/mongoid_search/mongoid_search.rb', line 123

def index_keywords!
  update_attribute(:_keywords, set_keywords)
end

#matchObject

Default matching type. Match :any or :all searched keywords



11
# File 'lib/mongoid_search.rb', line 11

mattr_accessor :match

#regexObject

Regex to search



45
# File 'lib/mongoid_search.rb', line 45

mattr_accessor :regex

#regex_searchObject

Search using regex (slower)



41
# File 'lib/mongoid_search.rb', line 41

mattr_accessor :regex_search

#relevant_searchObject

If true, will search with relevance information



19
# File 'lib/mongoid_search.rb', line 19

mattr_accessor :relevant_search

#set_keywordsObject



127
128
129
130
# File 'lib/mongoid_search/mongoid_search.rb', line 127

def set_keywords
  self._keywords = Mongoid::Search::Util.keywords(self, self.search_fields).
    flatten.reject{|k| k.nil? || k.empty?}.uniq.sort
end

#stem_keywordsObject

Stem keywords



23
# File 'lib/mongoid_search.rb', line 23

mattr_accessor :stem_keywords

#stem_procObject

Stem procedure



27
# File 'lib/mongoid_search.rb', line 27

mattr_accessor :stem_proc