xapian_db 1.2.4.1 → 1.2.4.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/CHANGELOG.md +6 -0
- data/README.rdoc +5 -2
- data/lib/xapian_db/document_blueprint.rb +4 -0
- metadata +20 -20
data/CHANGELOG.md
CHANGED
data/README.rdoc
CHANGED
@@ -179,7 +179,9 @@ This will turn off the auto-reindexing for any object of the configured class. U
|
|
179
179
|
Place these configurations either into the corresponding class or - I prefer to have the index configurations outside
|
180
180
|
the models - into the file config/xapian_blueprints.rb.
|
181
181
|
|
182
|
-
IMPORTANT
|
182
|
+
<b>IMPORTANT</b>
|
183
|
+
- Do not place them into an initializer, this will not work when cache_classes is set to false (default in config/development.rb)
|
184
|
+
- Whenever you make a change to a blueprint configuration, you must rebuild your entire xapian index
|
183
185
|
|
184
186
|
=== Update the index
|
185
187
|
|
@@ -277,7 +279,8 @@ The results behave like an array:
|
|
277
279
|
doc = results.first
|
278
280
|
puts doc.score.to_s # Get the relevance of the document
|
279
281
|
puts doc.indexed_class # Get the type of the indexed object as a string, e.g. "Person"
|
280
|
-
puts doc.name # We can access
|
282
|
+
puts doc.name # We can access a single attribute
|
283
|
+
puts doc.attributes # We can access all attributes as a hash
|
281
284
|
person = doc.indexed_object # Access the object behind this doc (lazy loaded)
|
282
285
|
|
283
286
|
Use a search result with will_paginate in a view:
|
@@ -218,6 +218,10 @@ module XapianDb
|
|
218
218
|
@score
|
219
219
|
end
|
220
220
|
|
221
|
+
define_method :attributes do
|
222
|
+
blueprint = XapianDb::DocumentBlueprint.blueprint_for indexed_class
|
223
|
+
blueprint.attribute_names.inject({}) { |hash, attr| hash.tap { |hash| hash[attr.to_s] = self.send attr } }
|
224
|
+
end
|
221
225
|
end
|
222
226
|
|
223
227
|
# Add an accessor for each attribute
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xapian_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.4.
|
4
|
+
version: 1.2.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: daemons
|
16
|
-
requirement: &
|
16
|
+
requirement: &70167709179460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.10
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70167709179460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard
|
27
|
-
requirement: &
|
27
|
+
requirement: &70167709194920 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70167709194920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70167709193440 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.3.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70167709193440
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70167709191880 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.7
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70167709191880
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: beanstalk-client
|
60
|
-
requirement: &
|
60
|
+
requirement: &70167709190660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.1.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70167709190660
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
|
-
requirement: &
|
71
|
+
requirement: &70167709201640 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70167709201640
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: progressbar
|
82
|
-
requirement: &
|
82
|
+
requirement: &70167709200680 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70167709200680
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: resque
|
93
|
-
requirement: &
|
93
|
+
requirement: &70167709209000 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 1.19.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70167709209000
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: xapian-ruby
|
104
|
-
requirement: &
|
104
|
+
requirement: &70167709206880 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 1.2.7.1
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70167709206880
|
113
113
|
description: XapianDb is a ruby gem that combines features of nosql databases and
|
114
114
|
fulltext indexing. It is based on Xapian, an efficient and powerful indexing library
|
115
115
|
email: gernot.kogler (at) garaio (dot) com
|