mongoid_search2 0.3.0.beta.1 → 0.3.0.beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +8 -2
- data/lib/mongoid_search/mongoid_search.rb +6 -1
- data/lib/mongoid_search/stemmers.rb +10 -0
- metadata +15 -15
data/README.md
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
Mongoid Search
|
|
2
2
|
============
|
|
3
3
|
|
|
4
|
-
Mongoid Search is a simple full text search implementation for Mongoid ORM.
|
|
4
|
+
Mongoid Search is a simple full text search implementation for Mongoid ORM. Modified to work with multiple stemming libraries: [fast-stemmer](https://github.com/romanbsd/fast-stemmer) and [ruby-stemmer](https://github.com/aurelian/ruby-stemmer).
|
|
5
5
|
|
|
6
6
|
Installation
|
|
7
7
|
--------
|
|
8
8
|
|
|
9
9
|
In your Gemfile:
|
|
10
10
|
|
|
11
|
-
gem 'mongoid_search'
|
|
11
|
+
gem 'mongoid_search2', :require => 'mongoid_search'
|
|
12
|
+
# Optional keyword stemming library:
|
|
13
|
+
# gem 'fast-stemmer' # only English
|
|
14
|
+
# gem 'ruby-stemmer', :require => 'lingua/stemmer' # English, Russian etc
|
|
12
15
|
|
|
13
16
|
Then:
|
|
14
17
|
|
|
@@ -112,6 +115,9 @@ ignore_list:
|
|
|
112
115
|
|
|
113
116
|
You can include how many keywords you like.
|
|
114
117
|
|
|
118
|
+
stem\_keywords:
|
|
119
|
+
Whether to stem keywords or not.
|
|
120
|
+
|
|
115
121
|
TODO
|
|
116
122
|
----
|
|
117
123
|
|
|
@@ -25,7 +25,12 @@ module Mongoid::Search
|
|
|
25
25
|
self.relevant_search = [true, false].include?(options[:relevant_search]) ? options[:relevant_search] : false
|
|
26
26
|
self.stemmer_class = options[:stemmer_class]
|
|
27
27
|
self.stem_keywords = !!stemmer_class || options[:stem_keywords]
|
|
28
|
-
self.stemmer_class ||= MongoidSearch::
|
|
28
|
+
self.stemmer_class ||= MongoidSearch::Stemmers.available
|
|
29
|
+
|
|
30
|
+
if stem_keywords && stemmer_class.nil?
|
|
31
|
+
raise "No stemmer found. Please, install either fast-stemmer or ruby-stemmer."
|
|
32
|
+
end
|
|
33
|
+
|
|
29
34
|
self.ignore_list = YAML.load(File.open(options[:ignore_list]))["ignorelist"] if options[:ignore_list].present?
|
|
30
35
|
self.search_fields = (self.search_fields || []).concat args
|
|
31
36
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongoid_search2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.0.beta.
|
|
4
|
+
version: 0.3.0.beta.2
|
|
5
5
|
prerelease: 6
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-02-16 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: mongoid
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70187438106440 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 2.0.0
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70187438106440
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: bson_ext
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70187438319080 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '1.2'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70187438319080
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: fast-stemmer
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70187438318460 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ~>
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 1.0.0
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70187438318460
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: ruby-stemmer
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70187438317700 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 0.8.3
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70187438317700
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: database_cleaner
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70187438317000 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: 0.6.4
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70187438317000
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rake
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70187438313760 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ~>
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: 0.8.7
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70187438313760
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: rspec
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &70187438312360 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ~>
|
|
@@ -87,7 +87,7 @@ dependencies:
|
|
|
87
87
|
version: '2.4'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *70187438312360
|
|
91
91
|
description: Simple full text search implementation.
|
|
92
92
|
email:
|
|
93
93
|
- mauricio@papodenerd.net
|