mongoid_search2 0.3.0.rc.1 → 0.3.0
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/Changelog.md +4 -1
- data/README.md +24 -0
- data/mongoid_search.gemspec +1 -1
- metadata +46 -16
data/Changelog.md
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
## 0.3.0
|
|
1
|
+
## 0.3.0
|
|
2
|
+
The final release, includes support for different stemming libraries and various fixes.
|
|
3
|
+
|
|
4
|
+
## 0.3.0.rc1
|
|
2
5
|
* Fix keyword stemming working even if stem\_keywords is set to false.
|
|
3
6
|
* Depend on Mongoid 2.x
|
|
4
7
|
* Remove bson\_ext dependency (C-extension)
|
data/README.md
CHANGED
|
@@ -74,6 +74,30 @@ code to search for 'iphone' in products cheaper than $499
|
|
|
74
74
|
In this case we have to use csearch, an alias for search, because since v2.0.0
|
|
75
75
|
Mongoid defines it's own Criteria.search method.
|
|
76
76
|
|
|
77
|
+
Different language
|
|
78
|
+
------------------
|
|
79
|
+
|
|
80
|
+
If you choose ruby-stemmer library you can search for keywords in different languages.
|
|
81
|
+
To do that you need to define `keyword_language` instance method. It will be used for stemming the keywords of a document when it is saved.
|
|
82
|
+
|
|
83
|
+
require "lingua/stemmer"
|
|
84
|
+
|
|
85
|
+
class Product
|
|
86
|
+
search_in :name, :stem_keywords => true
|
|
87
|
+
|
|
88
|
+
# static language
|
|
89
|
+
def keyword_language
|
|
90
|
+
:ru
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# you can also make a field instead for a variable language
|
|
94
|
+
# field :keyword_language, :type => Boolean
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
Then you need to specify :language option when searching. It will be used to stem the search terms:
|
|
98
|
+
|
|
99
|
+
Product.search("медведи", :language => :ru) # will match медведь, медведей
|
|
100
|
+
Product.search(keywords, :language => I18n.locale) # it can also be variable
|
|
77
101
|
|
|
78
102
|
Options
|
|
79
103
|
-------
|
data/mongoid_search.gemspec
CHANGED
|
@@ -4,7 +4,7 @@ $:.unshift lib unless $:.include?(lib)
|
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = "mongoid_search2"
|
|
7
|
-
s.version = "0.3.0
|
|
7
|
+
s.version = "0.3.0"
|
|
8
8
|
s.authors = ["Mauricio Zaffari"]
|
|
9
9
|
s.email =["mauricio@papodenerd.net"]
|
|
10
10
|
s.homepage = "http://www.papodenerd.net/mongoid-search-full-text-search-for-your-mongoid-models/"
|
metadata
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongoid_search2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.0
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.3.0
|
|
5
|
+
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Mauricio Zaffari
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-07-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: mongoid
|
|
16
|
-
requirement:
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ~>
|
|
@@ -21,10 +21,15 @@ dependencies:
|
|
|
21
21
|
version: '2.0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements:
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ~>
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '2.0'
|
|
25
30
|
- !ruby/object:Gem::Dependency
|
|
26
31
|
name: fast-stemmer
|
|
27
|
-
requirement:
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
28
33
|
none: false
|
|
29
34
|
requirements:
|
|
30
35
|
- - ~>
|
|
@@ -32,10 +37,15 @@ dependencies:
|
|
|
32
37
|
version: 1.0.0
|
|
33
38
|
type: :development
|
|
34
39
|
prerelease: false
|
|
35
|
-
version_requirements:
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ~>
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 1.0.0
|
|
36
46
|
- !ruby/object:Gem::Dependency
|
|
37
47
|
name: ruby-stemmer
|
|
38
|
-
requirement:
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
39
49
|
none: false
|
|
40
50
|
requirements:
|
|
41
51
|
- - ! '>='
|
|
@@ -43,10 +53,15 @@ dependencies:
|
|
|
43
53
|
version: 0.8.3
|
|
44
54
|
type: :development
|
|
45
55
|
prerelease: false
|
|
46
|
-
version_requirements:
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.8.3
|
|
47
62
|
- !ruby/object:Gem::Dependency
|
|
48
63
|
name: database_cleaner
|
|
49
|
-
requirement:
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
65
|
none: false
|
|
51
66
|
requirements:
|
|
52
67
|
- - ~>
|
|
@@ -54,10 +69,15 @@ dependencies:
|
|
|
54
69
|
version: 0.6.4
|
|
55
70
|
type: :development
|
|
56
71
|
prerelease: false
|
|
57
|
-
version_requirements:
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ~>
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: 0.6.4
|
|
58
78
|
- !ruby/object:Gem::Dependency
|
|
59
79
|
name: rake
|
|
60
|
-
requirement:
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
61
81
|
none: false
|
|
62
82
|
requirements:
|
|
63
83
|
- - ~>
|
|
@@ -65,10 +85,15 @@ dependencies:
|
|
|
65
85
|
version: 0.8.7
|
|
66
86
|
type: :development
|
|
67
87
|
prerelease: false
|
|
68
|
-
version_requirements:
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ~>
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: 0.8.7
|
|
69
94
|
- !ruby/object:Gem::Dependency
|
|
70
95
|
name: rspec
|
|
71
|
-
requirement:
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
97
|
none: false
|
|
73
98
|
requirements:
|
|
74
99
|
- - ~>
|
|
@@ -76,7 +101,12 @@ dependencies:
|
|
|
76
101
|
version: '2.4'
|
|
77
102
|
type: :development
|
|
78
103
|
prerelease: false
|
|
79
|
-
version_requirements:
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ~>
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '2.4'
|
|
80
110
|
description: Simple full text search implementation.
|
|
81
111
|
email:
|
|
82
112
|
- mauricio@papodenerd.net
|
|
@@ -127,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
127
157
|
version: 1.3.6
|
|
128
158
|
requirements: []
|
|
129
159
|
rubyforge_project:
|
|
130
|
-
rubygems_version: 1.8.
|
|
160
|
+
rubygems_version: 1.8.23
|
|
131
161
|
signing_key:
|
|
132
162
|
specification_version: 3
|
|
133
163
|
summary: Search implementation for Mongoid ORM
|