mwmitchell-rsolr 0.6.4 → 0.6.5
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/CHANGES.txt +11 -0
- data/examples/direct.rb +1 -1
- data/examples/http.rb +1 -1
- data/lib/mash.rb +2 -3
- data/lib/rsolr/connection/adapter/direct.rb +8 -1
- data/lib/rsolr/connection/base.rb +1 -1
- data/lib/rsolr/response/query.rb +2 -2
- data/lib/rsolr.rb +1 -2
- data/test/connection/direct_test.rb +4 -0
- data/test/connection/test_methods.rb +3 -6
- metadata +1 -1
data/CHANGES.txt
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
0.6.5 - January 26, 2009
|
2
|
+
Removed to_mash everywhere, except for usage in RSolr::Response
|
3
|
+
Added a #close method to the Direct adapter
|
4
|
+
- this closes the connection and sets the @connection variable to nil
|
5
|
+
Removed to_mash in RSolr::Connection::Base
|
6
|
+
Changed RSolr::Response::Query::Doc to DocExt
|
7
|
+
- this no longer extends Mash
|
8
|
+
- each doc in the response now uses the #extend method to mixin the new DocExt module
|
9
|
+
Added #teardown method in direct connection test, this method closes the connection
|
10
|
+
Updated the connection test methods a bit
|
11
|
+
|
1
12
|
0.6.4 - January 26, 2009
|
2
13
|
Updated the mapping output for the :filters and :phrase_filters (when using the #search method)
|
3
14
|
- now sending multiple fq's instead of one
|
data/examples/direct.rb
CHANGED
@@ -5,7 +5,7 @@ base = File.expand_path( File.dirname(__FILE__) )
|
|
5
5
|
dist = File.join(base, '..', 'apache-solr')
|
6
6
|
home = File.join(dist, 'example', 'solr')
|
7
7
|
|
8
|
-
solr = RSolr.connect(:direct, :home_dir=>home, :dist_dir=>dist)
|
8
|
+
solr = RSolr.connect(:adapter=>:direct, :home_dir=>home, :dist_dir=>dist)
|
9
9
|
|
10
10
|
`cd ../apache-solr/example/exampledocs && ./post.sh ./*.xml`
|
11
11
|
|
data/examples/http.rb
CHANGED
data/lib/mash.rb
CHANGED
@@ -23,7 +23,7 @@ class RSolr::Connection::Adapter::Direct
|
|
23
23
|
def initialize(opts, &block)
|
24
24
|
@home_dir = opts[:home_dir].to_s
|
25
25
|
opts[:data_dir] ||= File.join(@home_dir, 'data')
|
26
|
-
if opts[:dist_dir]
|
26
|
+
if opts[:dist_dir] and ! opts[:jar_paths]
|
27
27
|
# add the standard lib and dist directories to the :jar_paths
|
28
28
|
opts[:jar_paths] = [File.join(opts[:dist_dir], 'lib'), File.join(opts[:dist_dir], 'dist')]
|
29
29
|
end
|
@@ -40,6 +40,13 @@ class RSolr::Connection::Adapter::Direct
|
|
40
40
|
)
|
41
41
|
end
|
42
42
|
|
43
|
+
def close
|
44
|
+
if @connection
|
45
|
+
@connection.close
|
46
|
+
@connection=nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
43
50
|
# send a request to the connection
|
44
51
|
# request '/update', :wt=>:xml, '</commit>'
|
45
52
|
def send_request(path, params={}, data=nil)
|
@@ -29,7 +29,7 @@ class RSolr::Connection::Base
|
|
29
29
|
# sets default params etc.. - could be used as a mapping hook
|
30
30
|
# type of request should be passed in here? -> map_params(:query, {})
|
31
31
|
def map_params(params)
|
32
|
-
{}.merge(@opts[:global_params]).merge(params)
|
32
|
+
{}.merge(@opts[:global_params]).merge(params)
|
33
33
|
end
|
34
34
|
|
35
35
|
# send request (no param mapping) to the select handler
|
data/lib/rsolr/response/query.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
module RSolr::Response::Query
|
3
3
|
|
4
4
|
# module for adding helper methods to each Hash document
|
5
|
-
|
5
|
+
module DocExt
|
6
6
|
|
7
7
|
# Helper method to check if value/multi-values exist for a given key.
|
8
8
|
# The value can be a string, or a RegExp
|
@@ -149,7 +149,7 @@ module RSolr::Response::Query
|
|
149
149
|
def initialize(data)
|
150
150
|
super(data)
|
151
151
|
@response = @data[:response]
|
152
|
-
@docs = @response[:docs].collect{ |d|
|
152
|
+
@docs = @response[:docs].collect{ |d| d=d.to_mash; d.extend(DocExt); d }
|
153
153
|
@num_found = @response[:numFound]
|
154
154
|
@start = @response[:start]
|
155
155
|
end
|
data/lib/rsolr.rb
CHANGED
@@ -7,7 +7,7 @@ proc {|base, files|
|
|
7
7
|
|
8
8
|
module RSolr
|
9
9
|
|
10
|
-
VERSION = '0.6.
|
10
|
+
VERSION = '0.6.5'
|
11
11
|
|
12
12
|
autoload :Message, 'rsolr/message'
|
13
13
|
autoload :Response, 'rsolr/response'
|
@@ -20,7 +20,6 @@ module RSolr
|
|
20
20
|
# opts are sent to the adapter instance (:url for http, :dist_dir for :direct etc.)
|
21
21
|
# and to the connection instance
|
22
22
|
def self.connect(opts={})
|
23
|
-
opts = opts.to_mash
|
24
23
|
adapter_name = opts[:adapter] ||= :http
|
25
24
|
types = {
|
26
25
|
:http=>'HTTP',
|
@@ -13,12 +13,9 @@ module ConnectionTestMethods
|
|
13
13
|
#end
|
14
14
|
|
15
15
|
def test_default_options
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
:luke_path => '/admin/luke'
|
20
|
-
}
|
21
|
-
assert_equal target, @solr.adapter.default_options
|
16
|
+
assert_equal '/select', @solr.adapter.default_options[:select_path]
|
17
|
+
assert_equal '/update', @solr.adapter.default_options[:update_path]
|
18
|
+
assert_equal '/admin/luke', @solr.adapter.default_options[:luke_path]
|
22
19
|
end
|
23
20
|
|
24
21
|
# setting adapter options in Solr.connect method should set them in the adapter
|