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 { |word| word.stem }
@@ignore_list =
[]
@@regex_search =
true
@@regex =

Match partial words on both sides (slower)

proc { |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:



67
68
69
# File 'lib/mongoid_search.rb', line 67

def self.setup
  yield self
end

Instance Method Details

#allow_empty_searchObject

If true, an empty search will return all objects



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

mattr_accessor :allow_empty_search

#ignore_listObject

Words to ignore



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

mattr_accessor :ignore_list

#index_keywords!Object



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

def index_keywords!
  update_attribute(:_keywords, set_keywords)
end

#matchObject

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



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

mattr_accessor :match

#regexObject

Regex to search



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

mattr_accessor :regex

#regex_searchObject

Search using regex (slower)



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

mattr_accessor :regex_search

#relevant_searchObject

If true, will search with relevance information



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

mattr_accessor :relevant_search

#set_keywordsObject



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

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

#stem_keywordsObject

Stem keywords



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

mattr_accessor :stem_keywords

#stem_procObject

Stem procedure



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

mattr_accessor :stem_proc