mongoid_fulltext 0.5.6 → 0.5.7
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 +1 -0
- data/VERSION +1 -1
- data/lib/mongoid_fulltext.rb +2 -1
- data/mongoid_fulltext.gemspec +10 -8
- data/spec/models/delayed_artwork.rb +8 -0
- data/spec/mongoid/fulltext_spec.rb +11 -0
- metadata +16 -16
data/README.md
CHANGED
@@ -243,6 +243,7 @@ Additional indexing/query options can be used as parameters to `fulltext_search_
|
|
243
243
|
* When set to a string, the string is evaluated within the document's instance.
|
244
244
|
* When set to a proc, the proc is called, and the document is given to the proc as the first arg.
|
245
245
|
* When set to any other type of object, the document's index will not be updated.
|
246
|
+
* `reindex_immediately`: whether models will be reindexed automatically upon saves or updates. Defaults to true. When set to false, the class-level `update_ngram_index` method can be called to perform reindexing.
|
246
247
|
|
247
248
|
Array filters
|
248
249
|
-------------
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.7
|
data/lib/mongoid_fulltext.rb
CHANGED
@@ -32,6 +32,7 @@ module Mongoid::FullTextSearch
|
|
32
32
|
:index_short_prefixes => false,
|
33
33
|
:max_candidate_set_size => 1000,
|
34
34
|
:remove_accents => true,
|
35
|
+
:reindex_immediately => true,
|
35
36
|
:stop_words => Hash[['i', 'a', 's', 't', 'me', 'my', 'we', 'he', 'it', 'am', 'is', 'be', 'do', 'an', 'if',
|
36
37
|
'or', 'as', 'of', 'at', 'by', 'to', 'up', 'in', 'on', 'no', 'so', 'our', 'you', 'him',
|
37
38
|
'his', 'she', 'her', 'its', 'who', 'are', 'was', 'has', 'had', 'did', 'the', 'and',
|
@@ -54,7 +55,7 @@ module Mongoid::FullTextSearch
|
|
54
55
|
config[:word_separators] = Hash[config[:word_separators].split('').map{ |ch| [ch,ch] }]
|
55
56
|
self.mongoid_fulltext_config[index_name] = config
|
56
57
|
|
57
|
-
before_save :
|
58
|
+
before_save(:update_ngram_index) if config[:reindex_immediately]
|
58
59
|
before_destroy :remove_from_ngram_index
|
59
60
|
end
|
60
61
|
|
data/mongoid_fulltext.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.5.
|
7
|
+
s.name = "mongoid_fulltext"
|
8
|
+
s.version = "0.5.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aaron Windsor"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-01-12"
|
13
|
+
s.description = "Full-text search for the Mongoid ORM, using n-grams extracted from text"
|
14
|
+
s.email = "aaron.windsor@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.md"
|
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
"spec/models/accentless_artwork.rb",
|
31
31
|
"spec/models/advanced_artwork.rb",
|
32
32
|
"spec/models/basic_artwork.rb",
|
33
|
+
"spec/models/delayed_artwork.rb",
|
33
34
|
"spec/models/external_artist.rb",
|
34
35
|
"spec/models/external_artwork.rb",
|
35
36
|
"spec/models/external_artwork_no_fields_supplied.rb",
|
@@ -47,15 +48,16 @@ Gem::Specification.new do |s|
|
|
47
48
|
"spec/mongoid/fulltext_spec.rb",
|
48
49
|
"spec/spec_helper.rb"
|
49
50
|
]
|
50
|
-
s.homepage =
|
51
|
+
s.homepage = "http://github.com/aaw/mongoid_fulltext"
|
51
52
|
s.licenses = ["MIT"]
|
52
53
|
s.require_paths = ["lib"]
|
53
|
-
s.rubygems_version =
|
54
|
-
s.summary =
|
54
|
+
s.rubygems_version = "1.8.10"
|
55
|
+
s.summary = "Full-text search for the Mongoid ORM"
|
55
56
|
s.test_files = [
|
56
57
|
"spec/models/accentless_artwork.rb",
|
57
58
|
"spec/models/advanced_artwork.rb",
|
58
59
|
"spec/models/basic_artwork.rb",
|
60
|
+
"spec/models/delayed_artwork.rb",
|
59
61
|
"spec/models/external_artist.rb",
|
60
62
|
"spec/models/external_artwork.rb",
|
61
63
|
"spec/models/external_artwork_no_fields_supplied.rb",
|
@@ -669,5 +669,16 @@ module Mongoid
|
|
669
669
|
end
|
670
670
|
|
671
671
|
end
|
672
|
+
|
673
|
+
context "batched reindexing" do
|
674
|
+
let!(:flowers1) { DelayedArtwork.create(:title => 'Flowers 1') }
|
675
|
+
|
676
|
+
it "should not rebuild index until explicitly invoked" do
|
677
|
+
DelayedArtwork.fulltext_search("flowers").length.should == 0
|
678
|
+
DelayedArtwork.update_ngram_index
|
679
|
+
DelayedArtwork.fulltext_search("flowers").length.should == 1
|
680
|
+
end
|
681
|
+
end
|
682
|
+
|
672
683
|
end
|
673
684
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_fulltext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
default_executable:
|
12
|
+
date: 2012-01-12 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: unicode_utils
|
17
|
-
requirement: &
|
16
|
+
requirement: &2154109500 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: 1.0.0
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *2154109500
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: mongoid
|
28
|
-
requirement: &
|
27
|
+
requirement: &2154107440 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: 2.0.0
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *2154107440
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: bson_ext
|
39
|
-
requirement: &
|
38
|
+
requirement: &2154105600 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ~>
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
version: 1.3.0
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *2154105600
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: rspec
|
50
|
-
requirement: &
|
49
|
+
requirement: &2154103900 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
53
52
|
- - ~>
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
version: 2.5.0
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
57
|
+
version_requirements: *2154103900
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
59
|
name: jeweler
|
61
|
-
requirement: &
|
60
|
+
requirement: &2154099020 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ~>
|
@@ -66,7 +65,7 @@ dependencies:
|
|
66
65
|
version: 1.5.2
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
68
|
+
version_requirements: *2154099020
|
70
69
|
description: Full-text search for the Mongoid ORM, using n-grams extracted from text
|
71
70
|
email: aaron.windsor@gmail.com
|
72
71
|
executables: []
|
@@ -88,6 +87,7 @@ files:
|
|
88
87
|
- spec/models/accentless_artwork.rb
|
89
88
|
- spec/models/advanced_artwork.rb
|
90
89
|
- spec/models/basic_artwork.rb
|
90
|
+
- spec/models/delayed_artwork.rb
|
91
91
|
- spec/models/external_artist.rb
|
92
92
|
- spec/models/external_artwork.rb
|
93
93
|
- spec/models/external_artwork_no_fields_supplied.rb
|
@@ -104,7 +104,6 @@ files:
|
|
104
104
|
- spec/models/stopwords_artwork.rb
|
105
105
|
- spec/mongoid/fulltext_spec.rb
|
106
106
|
- spec/spec_helper.rb
|
107
|
-
has_rdoc: true
|
108
107
|
homepage: http://github.com/aaw/mongoid_fulltext
|
109
108
|
licenses:
|
110
109
|
- MIT
|
@@ -120,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
119
|
version: '0'
|
121
120
|
segments:
|
122
121
|
- 0
|
123
|
-
hash:
|
122
|
+
hash: 2225884234054153231
|
124
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
124
|
none: false
|
126
125
|
requirements:
|
@@ -129,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
128
|
version: '0'
|
130
129
|
requirements: []
|
131
130
|
rubyforge_project:
|
132
|
-
rubygems_version: 1.
|
131
|
+
rubygems_version: 1.8.10
|
133
132
|
signing_key:
|
134
133
|
specification_version: 3
|
135
134
|
summary: Full-text search for the Mongoid ORM
|
@@ -137,6 +136,7 @@ test_files:
|
|
137
136
|
- spec/models/accentless_artwork.rb
|
138
137
|
- spec/models/advanced_artwork.rb
|
139
138
|
- spec/models/basic_artwork.rb
|
139
|
+
- spec/models/delayed_artwork.rb
|
140
140
|
- spec/models/external_artist.rb
|
141
141
|
- spec/models/external_artwork.rb
|
142
142
|
- spec/models/external_artwork_no_fields_supplied.rb
|