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', 'ꜵ' => 'ao' }
- @@minimum_word_size =
2
- @@strip_symbols =
/[._:;'\"`,?|+={}()!@#%^&*<>~\$\-\\\/\[\]]/
- @@strip_accents =
/[^\s\p{Alnum}]/
Class Method Summary collapse
Instance Method Summary collapse
-
#allow_empty_search ⇒ Object
If true, an empty search will return all objects.
- #get_keywords(fields) ⇒ Object
-
#ignore_list ⇒ Object
Words to ignore.
- #index_keywords! ⇒ Object
-
#match ⇒ Object
Default matching type.
-
#regex ⇒ Object
Regex to search.
-
#regex_search ⇒ Object
Search using regex (slower).
-
#relevant_search ⇒ Object
If true, will search with relevance information.
- #set_keywords ⇒ Object
-
#stem_keywords ⇒ Object
Stem keywords.
-
#stem_proc ⇒ Object
Stem procedure.
Class Method Details
.classes ⇒ Object
10 11 12 |
# File 'lib/mongoid_search/mongoid_search.rb', line 10 def self.classes @@classes end |
.setup {|_self| ... } ⇒ Object
67 68 69 |
# File 'lib/mongoid_search.rb', line 67 def self.setup yield self end |
Instance Method Details
#allow_empty_search ⇒ Object
If true, an empty search will return all objects
11 |
# File 'lib/mongoid_search.rb', line 11 mattr_accessor :allow_empty_search |
#get_keywords(fields) ⇒ Object
145 146 147 148 |
# File 'lib/mongoid_search/mongoid_search.rb', line 145 def get_keywords(fields) Mongoid::Search::Util.keywords(self, fields) .flatten.reject { |k| k.nil? || k.empty? }.uniq.sort end |
#ignore_list ⇒ Object
Words to ignore
27 |
# File 'lib/mongoid_search.rb', line 27 mattr_accessor :ignore_list |
#index_keywords! ⇒ Object
133 134 135 136 137 |
# File 'lib/mongoid_search/mongoid_search.rb', line 133 def index_keywords! search_fields.map do |index, fields| update_attribute(index, get_keywords(fields)) end end |
#match ⇒ Object
Default matching type. Match :any or :all searched keywords
7 |
# File 'lib/mongoid_search.rb', line 7 mattr_accessor :match |
#regex ⇒ Object
Regex to search
41 |
# File 'lib/mongoid_search.rb', line 41 mattr_accessor :regex |
#regex_search ⇒ Object
Search using regex (slower)
37 |
# File 'lib/mongoid_search.rb', line 37 mattr_accessor :regex_search |
#relevant_search ⇒ Object
If true, will search with relevance information
15 |
# File 'lib/mongoid_search.rb', line 15 mattr_accessor :relevant_search |
#set_keywords ⇒ Object
139 140 141 142 143 |
# File 'lib/mongoid_search/mongoid_search.rb', line 139 def set_keywords search_fields.each do |index, fields| send("#{index}=", get_keywords(fields)) end end |
#stem_keywords ⇒ Object
Stem keywords
19 |
# File 'lib/mongoid_search.rb', line 19 mattr_accessor :stem_keywords |
#stem_proc ⇒ Object
Stem procedure
23 |
# File 'lib/mongoid_search.rb', line 23 mattr_accessor :stem_proc |