solr-ruby 0.0.5 → 0.0.6
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/lib/solr/connection.rb +17 -0
- data/lib/solr/request.rb +1 -0
- data/lib/solr/request/select.rb +3 -5
- data/lib/solr/request/spellcheck.rb +30 -0
- data/lib/solr/request/standard.rb +16 -1
- data/lib/solr/response.rb +3 -1
- data/lib/solr/response/ruby.rb +2 -2
- data/lib/solr/response/select.rb +17 -0
- data/lib/solr/response/spellcheck.rb +20 -0
- data/test/unit/changes_yaml_test.rb +21 -0
- data/test/unit/modify_document_test.rb +2 -3
- data/test/unit/response_test.rb +7 -6
- data/test/unit/select_test.rb +25 -0
- data/test/unit/spellcheck_response_test.rb +26 -0
- data/test/unit/spellchecker_request_test.rb +27 -0
- data/test/unit/standard_request_test.rb +10 -2
- metadata +19 -12
data/lib/solr/connection.rb
CHANGED
@@ -78,12 +78,29 @@ class Solr::Connection
|
|
78
78
|
# conn.query('borges') do |hit|
|
79
79
|
# puts hit
|
80
80
|
# end
|
81
|
+
#
|
82
|
+
# options include:
|
83
|
+
#
|
84
|
+
# :sort, :default_field, :rows, :filter_queries, :debug_query,
|
85
|
+
# :explain_other, :facets, :highlighting, :mlt,
|
86
|
+
# :operator => :or / :and
|
87
|
+
# :start => defaults to 0
|
88
|
+
# :field_list => array, defaults to ["*", "score"]
|
81
89
|
|
82
90
|
def query(query, options={}, &action)
|
83
91
|
# TODO: Shouldn't this return an exception if the Solr status is not ok? (rather than true/false).
|
84
92
|
create_and_send_query(Solr::Request::Standard, options.update(:query => query), &action)
|
85
93
|
end
|
86
94
|
|
95
|
+
# performs a dismax search and returns a Solr::Response::Standard
|
96
|
+
#
|
97
|
+
# response = conn.search('borges')
|
98
|
+
#
|
99
|
+
# options are same as query, but also include:
|
100
|
+
#
|
101
|
+
# :tie_breaker, :query_fields, :minimum_match, :phrase_fields,
|
102
|
+
# :phrase_slop, :boost_query, :boost_functions
|
103
|
+
|
87
104
|
def search(query, options={}, &action)
|
88
105
|
create_and_send_query(Solr::Request::Dismax, options.update(:query => query), &action)
|
89
106
|
end
|
data/lib/solr/request.rb
CHANGED
@@ -19,6 +19,7 @@ require 'solr/request/delete'
|
|
19
19
|
require 'solr/request/ping'
|
20
20
|
require 'solr/request/select'
|
21
21
|
require 'solr/request/standard'
|
22
|
+
require 'solr/request/spellcheck'
|
22
23
|
require 'solr/request/dismax'
|
23
24
|
require 'solr/request/update'
|
24
25
|
require 'solr/request/index_info'
|
data/lib/solr/request/select.rb
CHANGED
@@ -15,13 +15,11 @@ require 'erb'
|
|
15
15
|
# "Abstract" base class, only useful with subclasses that add parameters
|
16
16
|
class Solr::Request::Select < Solr::Request::Base
|
17
17
|
|
18
|
-
# TODO add a constant for the all-docs query, which currently is [* TO *]
|
19
|
-
# (caveat, that is all docs that have a value in the default field)
|
20
|
-
# When the Lucene JAR is upgraded in Solr, the all-docs query becomes simply *
|
21
18
|
attr_reader :query_type
|
22
19
|
|
23
|
-
def initialize(qt=nil)
|
20
|
+
def initialize(qt=nil, params={})
|
24
21
|
@query_type = qt
|
22
|
+
@select_params = params
|
25
23
|
end
|
26
24
|
|
27
25
|
def response_format
|
@@ -37,7 +35,7 @@ class Solr::Request::Select < Solr::Request::Base
|
|
37
35
|
end
|
38
36
|
|
39
37
|
def to_hash
|
40
|
-
return {:qt => query_type, :wt => 'ruby'}
|
38
|
+
return {:qt => query_type, :wt => 'ruby'}.merge(@select_params)
|
41
39
|
end
|
42
40
|
|
43
41
|
def to_s
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
class Solr::Request::Spellcheck < Solr::Request::Select
|
14
|
+
|
15
|
+
def initialize(params)
|
16
|
+
super('spellchecker')
|
17
|
+
@params = params
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_hash
|
21
|
+
hash = super
|
22
|
+
hash[:q] = @params[:query]
|
23
|
+
hash[:suggestionCount] = @params[:suggestion_count]
|
24
|
+
hash[:accuracy] = @params[:accuracy]
|
25
|
+
hash[:onlyMorePopular] = @params[:only_more_popular]
|
26
|
+
hash[:cmd] = @params[:command]
|
27
|
+
return hash
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
class Solr::Request::Standard < Solr::Request::Select
|
14
14
|
|
15
|
-
VALID_PARAMS = [:query, :sort, :default_field, :operator, :start, :rows,
|
15
|
+
VALID_PARAMS = [:query, :sort, :default_field, :operator, :start, :rows, :shards,
|
16
16
|
:filter_queries, :field_list, :debug_query, :explain_other, :facets, :highlighting, :mlt]
|
17
17
|
|
18
18
|
def initialize(params)
|
@@ -38,6 +38,8 @@ class Solr::Request::Standard < Solr::Request::Select
|
|
38
38
|
@params[:rows] = params[:rows].to_i if params[:rows]
|
39
39
|
|
40
40
|
@params[:field_list] ||= ["*","score"]
|
41
|
+
|
42
|
+
@params[:shards] ||= []
|
41
43
|
end
|
42
44
|
|
43
45
|
def to_hash
|
@@ -59,6 +61,7 @@ class Solr::Request::Standard < Solr::Request::Select
|
|
59
61
|
hash[:fl] = @params[:field_list].join(',')
|
60
62
|
hash[:debugQuery] = @params[:debug_query]
|
61
63
|
hash[:explainOther] = @params[:explain_other]
|
64
|
+
hash[:shards] = @params[:shards].join(',') unless @params[:shards].empty?
|
62
65
|
|
63
66
|
# facet parameter processing
|
64
67
|
if @params[:facets]
|
@@ -71,6 +74,7 @@ class Solr::Request::Standard < Solr::Request::Select
|
|
71
74
|
hash["facet.missing"] = @params[:facets][:missing]
|
72
75
|
hash["facet.mincount"] = @params[:facets][:mincount]
|
73
76
|
hash["facet.prefix"] = @params[:facets][:prefix]
|
77
|
+
hash["facet.offset"] = @params[:facets][:offset]
|
74
78
|
if @params[:facets][:fields] # facet fields are optional (could be facet.query only)
|
75
79
|
@params[:facets][:fields].each do |f|
|
76
80
|
if f.kind_of? Hash
|
@@ -82,6 +86,7 @@ class Solr::Request::Standard < Solr::Request::Select
|
|
82
86
|
hash["f.#{key}.facet.missing"] = value[:missing]
|
83
87
|
hash["f.#{key}.facet.mincount"] = value[:mincount]
|
84
88
|
hash["f.#{key}.facet.prefix"] = value[:prefix]
|
89
|
+
hash["f.#{key}.facet.offset"] = value[:offset]
|
85
90
|
else
|
86
91
|
hash["facet.field"] << f
|
87
92
|
end
|
@@ -99,6 +104,16 @@ class Solr::Request::Standard < Solr::Request::Select
|
|
99
104
|
hash["hl.simple.pre"] = @params[:highlighting][:prefix]
|
100
105
|
hash["hl.simple.post"] = @params[:highlighting][:suffix]
|
101
106
|
hash["hl.fragsize"] = @params[:highlighting][:fragment_size]
|
107
|
+
if @params[:highlighting][:alternate_fields]
|
108
|
+
@params[:highlighting][:alternate_fields].each do |k,v|
|
109
|
+
hash["f.#{k}.hl.alternateField"] = v
|
110
|
+
end
|
111
|
+
end
|
112
|
+
if @params[:highlighting][:max_alternate_field_length]
|
113
|
+
@params[:highlighting][:max_alternate_field_length].each do |k,v|
|
114
|
+
hash["f.#{k}.hl.maxAlternateFieldLength"] = v
|
115
|
+
end
|
116
|
+
end
|
102
117
|
end
|
103
118
|
|
104
119
|
if @params[:mlt]
|
data/lib/solr/response.rb
CHANGED
@@ -18,8 +18,10 @@ require 'solr/response/ping'
|
|
18
18
|
require 'solr/response/add_document'
|
19
19
|
require 'solr/response/modify_document'
|
20
20
|
require 'solr/response/standard'
|
21
|
+
require 'solr/response/spellcheck'
|
21
22
|
require 'solr/response/dismax'
|
22
23
|
require 'solr/response/commit'
|
23
24
|
require 'solr/response/delete'
|
24
25
|
require 'solr/response/index_info'
|
25
|
-
require 'solr/response/optimize'
|
26
|
+
require 'solr/response/optimize'
|
27
|
+
require 'solr/response/select'
|
data/lib/solr/response/ruby.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
# limitations under the License.
|
12
12
|
|
13
13
|
class Solr::Response::Ruby < Solr::Response::Base
|
14
|
-
attr_reader :data
|
14
|
+
attr_reader :data, :header
|
15
15
|
|
16
16
|
def initialize(ruby_code)
|
17
17
|
super
|
@@ -38,5 +38,5 @@ class Solr::Response::Ruby < Solr::Response::Base
|
|
38
38
|
def query_time
|
39
39
|
@header['QTime']
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
class Solr::Response::Select < Solr::Response::Ruby
|
14
|
+
def initialize(ruby_code)
|
15
|
+
super
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
class Solr::Response::Spellcheck < Solr::Response::Ruby
|
14
|
+
attr_reader :suggestions
|
15
|
+
|
16
|
+
def initialize(ruby_code)
|
17
|
+
super
|
18
|
+
@suggestions = @data['suggestions']
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
require 'test/unit'
|
14
|
+
|
15
|
+
class ChangesYamlTest < Test::Unit::TestCase
|
16
|
+
def test_parse
|
17
|
+
change_log = YAML.load_file(File.expand_path(File.dirname(__FILE__)) + "/../../CHANGES.yml")
|
18
|
+
assert_equal Date.parse("2007-02-15"), change_log["v0.0.1"]["release_date"]
|
19
|
+
assert_equal ["initial release"], change_log["v0.0.1"]["changes"]
|
20
|
+
end
|
21
|
+
end
|
@@ -18,8 +18,7 @@ class ModifyDocumentTest < Test::Unit::TestCase
|
|
18
18
|
def test_update_formatting
|
19
19
|
request = Solr::Request::ModifyDocument.new(:id => 10, :overwrite => {:name => ['val1', 'val2'], :copyfield => nil})
|
20
20
|
assert_equal :xml, request.response_format
|
21
|
-
|
22
|
-
|
23
|
-
assert_match(/<add>[\s]*<doc>[\s]*<field name=["']id['"]>10<\/field>[\s]*<field name=['"]name['"]>val1<\/field>[\s]*<field name=['"]name['"]>val2<\/field>[\s]*<\/doc>[\s]*<\/add>/, request.to_s)
|
21
|
+
assert_match /copyfield\:OVERWRITE/, request.handler
|
22
|
+
assert_match /name\:OVERWRITE/, request.handler
|
24
23
|
end
|
25
24
|
end
|
data/test/unit/response_test.rb
CHANGED
@@ -32,11 +32,12 @@ class ResponseTest < SolrMockBaseTestCase
|
|
32
32
|
Solr::Response::Ruby.new(' {...')
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
35
|
+
|
36
|
+
# This is now an acceptable use of Select, for the default request handler with no parameters (other than &wt=ruby)
|
37
|
+
# def test_bogus_request_handling
|
38
|
+
# assert_raise(Solr::Exception) do
|
39
|
+
# Solr::Response::Base.make_response(Solr::Request::Select.new, "response data")
|
40
|
+
# end
|
41
|
+
# end
|
41
42
|
|
42
43
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
require 'test/unit'
|
14
|
+
require 'solr'
|
15
|
+
|
16
|
+
class SelectTest < Test::Unit::TestCase
|
17
|
+
|
18
|
+
def test_basic_query
|
19
|
+
request = Solr::Request::Select.new('custom', :q => 'query')
|
20
|
+
assert_equal :ruby, request.response_format
|
21
|
+
assert_equal 'select', request.handler
|
22
|
+
assert_equal 'query', request.to_hash[:q]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
require 'solr_mock_base'
|
14
|
+
|
15
|
+
class SpellcheckResponseTest < SolrMockBaseTestCase
|
16
|
+
def test_basic
|
17
|
+
ruby_code = "{'responseHeader'=>{'status'=>0,'QTime'=>5},'suggestions'=>['whately','whatcha','whatever']}"
|
18
|
+
conn = Solr::Connection.new 'http://localhost:9999'
|
19
|
+
set_post_return(ruby_code)
|
20
|
+
response = conn.send(Solr::Request::Spellcheck.new(:query => 'whateva'))
|
21
|
+
assert_equal true, response.ok?
|
22
|
+
assert_equal 3, response.suggestions.size
|
23
|
+
assert_equal ['whately','whatcha','whatever'], response.suggestions
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
require 'test/unit'
|
14
|
+
require 'solr'
|
15
|
+
|
16
|
+
class SpellcheckRequestTest < Test::Unit::TestCase
|
17
|
+
def test_spellcheck_request
|
18
|
+
request = Solr::Request::Spellcheck.new(:query => 'whateva', :suggestion_count => 5, :accuracy => 0.7, :only_more_popular => true)
|
19
|
+
assert_equal :ruby, request.response_format
|
20
|
+
assert_equal 'select', request.handler
|
21
|
+
hash = request.to_hash
|
22
|
+
assert_equal 'whateva', hash[:q]
|
23
|
+
assert_equal 5, hash[:suggestionCount]
|
24
|
+
assert_equal 0.7, hash[:accuracy]
|
25
|
+
assert_equal true, hash[:onlyMorePopular]
|
26
|
+
end
|
27
|
+
end
|
@@ -71,10 +71,10 @@ class StandardRequestTest < Test::Unit::TestCase
|
|
71
71
|
:facets => {
|
72
72
|
:fields => [:genre,
|
73
73
|
# field that overrides the global facet parameters
|
74
|
-
{:year => {:limit => 50, :mincount => 0, :missing => false, :sort => :term, :prefix=>"199"}}],
|
74
|
+
{:year => {:limit => 50, :mincount => 0, :missing => false, :sort => :term, :prefix=>"199", :offset => 7}}],
|
75
75
|
:queries => ["q1", "q2"],
|
76
76
|
:prefix => "cat",
|
77
|
-
:limit => 5, :zeros => true, :mincount => 20, :sort => :count # global facet parameters
|
77
|
+
:offset => 3, :limit => 5, :zeros => true, :mincount => 20, :sort => :count # global facet parameters
|
78
78
|
}
|
79
79
|
)
|
80
80
|
|
@@ -90,6 +90,8 @@ class StandardRequestTest < Test::Unit::TestCase
|
|
90
90
|
assert_equal 0, hash["f.year.facet.mincount"]
|
91
91
|
assert_equal false, hash["f.year.facet.sort"]
|
92
92
|
assert_equal "199", hash["f.year.facet.prefix"]
|
93
|
+
assert_equal 3, hash["facet.offset"]
|
94
|
+
assert_equal 7, hash["f.year.facet.offset"]
|
93
95
|
end
|
94
96
|
|
95
97
|
def test_basic_sort
|
@@ -101,6 +103,8 @@ class StandardRequestTest < Test::Unit::TestCase
|
|
101
103
|
request = Solr::Request::Standard.new(:query => 'query',
|
102
104
|
:highlighting => {
|
103
105
|
:field_list => ['title', 'author'],
|
106
|
+
:alternate_fields => {'title'=>'title', 'author'=>'author'},
|
107
|
+
:max_alternate_field_length => {'title'=>30, 'author'=>20},
|
104
108
|
:max_snippets => 3,
|
105
109
|
:require_field_match => true,
|
106
110
|
:prefix => "<blink>",
|
@@ -112,6 +116,10 @@ class StandardRequestTest < Test::Unit::TestCase
|
|
112
116
|
hash = request.to_hash
|
113
117
|
assert_equal true, hash[:hl]
|
114
118
|
assert_equal "title,author", hash["hl.fl"]
|
119
|
+
assert_equal "title", hash["f.title.hl.alternateField"]
|
120
|
+
assert_equal "author", hash["f.author.hl.alternateField"]
|
121
|
+
assert_equal 30, hash["f.title.hl.maxAlternateFieldLength"]
|
122
|
+
assert_equal 20, hash["f.author.hl.maxAlternateFieldLength"]
|
115
123
|
assert_equal true, hash["hl.requireFieldMatch"]
|
116
124
|
assert_equal "<blink>", hash["hl.simple.pre"]
|
117
125
|
assert_equal "</blink>", hash["hl.simple.post"]
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: solr-ruby
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date:
|
6
|
+
version: 0.0.6
|
7
|
+
date: 2008-07-14 00:00:00 -04:00
|
8
8
|
summary: Ruby library for working with Apache Solr
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,27 +30,20 @@ authors:
|
|
30
30
|
- Apache Solr
|
31
31
|
files:
|
32
32
|
- lib/solr
|
33
|
-
- lib/solr.rb
|
34
33
|
- lib/solr/connection.rb
|
35
34
|
- lib/solr/document.rb
|
36
35
|
- lib/solr/exception.rb
|
37
36
|
- lib/solr/field.rb
|
38
37
|
- lib/solr/importer
|
39
|
-
- lib/solr/importer.rb
|
40
|
-
- lib/solr/indexer.rb
|
41
|
-
- lib/solr/request
|
42
|
-
- lib/solr/request.rb
|
43
|
-
- lib/solr/response
|
44
|
-
- lib/solr/response.rb
|
45
|
-
- lib/solr/solrtasks.rb
|
46
|
-
- lib/solr/util.rb
|
47
|
-
- lib/solr/xml.rb
|
48
38
|
- lib/solr/importer/array_mapper.rb
|
49
39
|
- lib/solr/importer/delimited_file_source.rb
|
50
40
|
- lib/solr/importer/hpricot_mapper.rb
|
51
41
|
- lib/solr/importer/mapper.rb
|
52
42
|
- lib/solr/importer/solr_source.rb
|
53
43
|
- lib/solr/importer/xpath_mapper.rb
|
44
|
+
- lib/solr/importer.rb
|
45
|
+
- lib/solr/indexer.rb
|
46
|
+
- lib/solr/request
|
54
47
|
- lib/solr/request/add_document.rb
|
55
48
|
- lib/solr/request/base.rb
|
56
49
|
- lib/solr/request/commit.rb
|
@@ -61,8 +54,11 @@ files:
|
|
61
54
|
- lib/solr/request/optimize.rb
|
62
55
|
- lib/solr/request/ping.rb
|
63
56
|
- lib/solr/request/select.rb
|
57
|
+
- lib/solr/request/spellcheck.rb
|
64
58
|
- lib/solr/request/standard.rb
|
65
59
|
- lib/solr/request/update.rb
|
60
|
+
- lib/solr/request.rb
|
61
|
+
- lib/solr/response
|
66
62
|
- lib/solr/response/add_document.rb
|
67
63
|
- lib/solr/response/base.rb
|
68
64
|
- lib/solr/response/commit.rb
|
@@ -73,10 +69,18 @@ files:
|
|
73
69
|
- lib/solr/response/optimize.rb
|
74
70
|
- lib/solr/response/ping.rb
|
75
71
|
- lib/solr/response/ruby.rb
|
72
|
+
- lib/solr/response/select.rb
|
73
|
+
- lib/solr/response/spellcheck.rb
|
76
74
|
- lib/solr/response/standard.rb
|
77
75
|
- lib/solr/response/xml.rb
|
76
|
+
- lib/solr/response.rb
|
77
|
+
- lib/solr/solrtasks.rb
|
78
|
+
- lib/solr/util.rb
|
79
|
+
- lib/solr/xml.rb
|
80
|
+
- lib/solr.rb
|
78
81
|
- test/unit/add_document_test.rb
|
79
82
|
- test/unit/array_mapper_test.rb
|
83
|
+
- test/unit/changes_yaml_test.rb
|
80
84
|
- test/unit/commit_test.rb
|
81
85
|
- test/unit/connection_test.rb
|
82
86
|
- test/unit/data_mapper_test.rb
|
@@ -92,7 +96,10 @@ files:
|
|
92
96
|
- test/unit/ping_test.rb
|
93
97
|
- test/unit/request_test.rb
|
94
98
|
- test/unit/response_test.rb
|
99
|
+
- test/unit/select_test.rb
|
95
100
|
- test/unit/solr_mock_base.rb
|
101
|
+
- test/unit/spellcheck_response_test.rb
|
102
|
+
- test/unit/spellchecker_request_test.rb
|
96
103
|
- test/unit/standard_request_test.rb
|
97
104
|
- test/unit/standard_response_test.rb
|
98
105
|
- test/unit/suite.rb
|