greglu-solr-ruby 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/CHANGES.yml +50 -0
  2. data/LICENSE.txt +201 -0
  3. data/README +56 -0
  4. data/Rakefile +190 -0
  5. data/examples/delicious_library/dl_importer.rb +60 -0
  6. data/examples/delicious_library/sample_export.txt +164 -0
  7. data/examples/marc/marc_importer.rb +106 -0
  8. data/examples/tang/tang_importer.rb +58 -0
  9. data/lib/solr.rb +21 -0
  10. data/lib/solr/connection.rb +179 -0
  11. data/lib/solr/document.rb +73 -0
  12. data/lib/solr/exception.rb +13 -0
  13. data/lib/solr/field.rb +39 -0
  14. data/lib/solr/importer.rb +19 -0
  15. data/lib/solr/importer/array_mapper.rb +26 -0
  16. data/lib/solr/importer/delimited_file_source.rb +38 -0
  17. data/lib/solr/importer/hpricot_mapper.rb +27 -0
  18. data/lib/solr/importer/mapper.rb +51 -0
  19. data/lib/solr/importer/solr_source.rb +43 -0
  20. data/lib/solr/importer/xpath_mapper.rb +35 -0
  21. data/lib/solr/indexer.rb +52 -0
  22. data/lib/solr/request.rb +26 -0
  23. data/lib/solr/request/add_document.rb +63 -0
  24. data/lib/solr/request/base.rb +36 -0
  25. data/lib/solr/request/commit.rb +31 -0
  26. data/lib/solr/request/delete.rb +50 -0
  27. data/lib/solr/request/dismax.rb +46 -0
  28. data/lib/solr/request/index_info.rb +22 -0
  29. data/lib/solr/request/modify_document.rb +51 -0
  30. data/lib/solr/request/optimize.rb +21 -0
  31. data/lib/solr/request/ping.rb +36 -0
  32. data/lib/solr/request/select.rb +56 -0
  33. data/lib/solr/request/spellcheck.rb +30 -0
  34. data/lib/solr/request/standard.rb +374 -0
  35. data/lib/solr/request/update.rb +23 -0
  36. data/lib/solr/response.rb +27 -0
  37. data/lib/solr/response/add_document.rb +17 -0
  38. data/lib/solr/response/base.rb +42 -0
  39. data/lib/solr/response/commit.rb +17 -0
  40. data/lib/solr/response/delete.rb +13 -0
  41. data/lib/solr/response/dismax.rb +20 -0
  42. data/lib/solr/response/index_info.rb +26 -0
  43. data/lib/solr/response/modify_document.rb +17 -0
  44. data/lib/solr/response/optimize.rb +14 -0
  45. data/lib/solr/response/ping.rb +28 -0
  46. data/lib/solr/response/ruby.rb +42 -0
  47. data/lib/solr/response/select.rb +17 -0
  48. data/lib/solr/response/spellcheck.rb +20 -0
  49. data/lib/solr/response/standard.rb +60 -0
  50. data/lib/solr/response/xml.rb +42 -0
  51. data/lib/solr/solrtasks.rb +27 -0
  52. data/lib/solr/util.rb +32 -0
  53. data/lib/solr/xml.rb +47 -0
  54. data/script/setup.rb +14 -0
  55. data/script/solrshell +18 -0
  56. data/solr-ruby.gemspec +26 -0
  57. data/solr/conf/admin-extra.html +31 -0
  58. data/solr/conf/protwords.txt +21 -0
  59. data/solr/conf/schema.xml +221 -0
  60. data/solr/conf/scripts.conf +24 -0
  61. data/solr/conf/solrconfig.xml +394 -0
  62. data/solr/conf/stopwords.txt +58 -0
  63. data/solr/conf/synonyms.txt +31 -0
  64. data/solr/conf/xslt/example.xsl +132 -0
  65. data/test/conf/admin-extra.html +31 -0
  66. data/test/conf/protwords.txt +21 -0
  67. data/test/conf/schema.xml +237 -0
  68. data/test/conf/scripts.conf +24 -0
  69. data/test/conf/solrconfig.xml +376 -0
  70. data/test/conf/stopwords.txt +58 -0
  71. data/test/conf/synonyms.txt +31 -0
  72. data/test/functional/server_test.rb +218 -0
  73. data/test/functional/test_solr_server.rb +104 -0
  74. data/test/unit/add_document_test.rb +40 -0
  75. data/test/unit/array_mapper_test.rb +37 -0
  76. data/test/unit/changes_yaml_test.rb +21 -0
  77. data/test/unit/commit_test.rb +41 -0
  78. data/test/unit/connection_test.rb +55 -0
  79. data/test/unit/data_mapper_test.rb +75 -0
  80. data/test/unit/delete_test.rb +56 -0
  81. data/test/unit/delimited_file_source_test.rb +29 -0
  82. data/test/unit/dismax_request_test.rb +26 -0
  83. data/test/unit/document_test.rb +69 -0
  84. data/test/unit/field_test.rb +48 -0
  85. data/test/unit/hpricot_mapper_test.rb +44 -0
  86. data/test/unit/hpricot_test_file.xml +26 -0
  87. data/test/unit/indexer_test.rb +57 -0
  88. data/test/unit/modify_document_test.rb +24 -0
  89. data/test/unit/ping_test.rb +51 -0
  90. data/test/unit/request_test.rb +61 -0
  91. data/test/unit/response_test.rb +43 -0
  92. data/test/unit/select_test.rb +25 -0
  93. data/test/unit/solr_mock_base.rb +40 -0
  94. data/test/unit/spellcheck_response_test.rb +26 -0
  95. data/test/unit/spellchecker_request_test.rb +27 -0
  96. data/test/unit/standard_request_test.rb +324 -0
  97. data/test/unit/standard_response_test.rb +174 -0
  98. data/test/unit/suite.rb +16 -0
  99. data/test/unit/tab_delimited.txt +2 -0
  100. data/test/unit/util_test.rb +24 -0
  101. data/test/unit/xpath_mapper_test.rb +38 -0
  102. data/test/unit/xpath_test_file.xml +25 -0
  103. metadata +173 -0
@@ -0,0 +1,174 @@
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 StandardResponseTest < SolrMockBaseTestCase
16
+
17
+ def test_basic
18
+ ruby_code =
19
+ <<RUBY_CODE
20
+ {
21
+ 'responseHeader'=>{
22
+ 'status'=>0,
23
+ 'QTime'=>1,
24
+ 'params'=>{
25
+ 'wt'=>'ruby',
26
+ 'rows'=>'10',
27
+ 'explainOther'=>'',
28
+ 'start'=>'0',
29
+ 'hl.fl'=>'',
30
+ 'indent'=>'on',
31
+ 'q'=>'guido',
32
+ 'fl'=>'*,score',
33
+ 'qt'=>'standard',
34
+ 'version'=>'2.2'}},
35
+ 'response'=>{'numFound'=>1,'start'=>0,'maxScore'=>0.67833745,'docs'=>[
36
+ {
37
+ 'name'=>'guido von rossum',
38
+ 'id'=>'123',
39
+ 'timestamp'=>'2007-01-16T09:55:30.589Z',
40
+ 'score'=>0.67833745}]
41
+ }}
42
+ RUBY_CODE
43
+ conn = Solr::Connection.new 'http://localhost:9999'
44
+ set_post_return(ruby_code)
45
+ response = conn.send(Solr::Request::Standard.new(:query => 'foo'))
46
+ assert_equal true, response.ok?
47
+ assert response.query_time
48
+ assert_equal 1, response.total_hits
49
+ assert_equal 0, response.start
50
+ assert_equal 0.67833745, response.max_score
51
+ assert_equal 1, response.hits.length
52
+ end
53
+
54
+ def test_iteration
55
+ ruby_code =
56
+ <<RUBY_CODE
57
+ {
58
+ 'responseHeader'=>{
59
+ 'status'=>0,
60
+ 'QTime'=>0,
61
+ 'params'=>{
62
+ 'wt'=>'ruby',
63
+ 'rows'=>'10',
64
+ 'explainOther'=>'',
65
+ 'start'=>'0',
66
+ 'hl.fl'=>'',
67
+ 'indent'=>'on',
68
+ 'q'=>'guido',
69
+ 'fl'=>'*,score',
70
+ 'qt'=>'standard',
71
+ 'version'=>'2.2'}},
72
+ 'response'=>{'numFound'=>22,'start'=>0,'maxScore'=>0.53799295,'docs'=>[
73
+ {
74
+ 'name'=>'guido von rossum the 0',
75
+ 'id'=>'0',
76
+ 'score'=>0.53799295},
77
+ {
78
+ 'name'=>'guido von rossum the 1',
79
+ 'id'=>'1',
80
+ 'score'=>0.53799295},
81
+ {
82
+ 'name'=>'guido von rossum the 2',
83
+ 'id'=>'2',
84
+ 'score'=>0.53799295},
85
+ {
86
+ 'name'=>'guido von rossum the 3',
87
+ 'id'=>'3',
88
+ 'score'=>0.53799295},
89
+ {
90
+ 'name'=>'guido von rossum the 4',
91
+ 'id'=>'4',
92
+ 'score'=>0.53799295},
93
+ {
94
+ 'name'=>'guido von rossum the 5',
95
+ 'id'=>'5',
96
+ 'score'=>0.53799295},
97
+ {
98
+ 'name'=>'guido von rossum the 6',
99
+ 'id'=>'6',
100
+ 'score'=>0.53799295},
101
+ {
102
+ 'name'=>'guido von rossum the 7',
103
+ 'id'=>'7',
104
+ 'score'=>0.53799295},
105
+ {
106
+ 'name'=>'guido von rossum the 8',
107
+ 'id'=>'8',
108
+ 'score'=>0.53799295},
109
+ {
110
+ 'name'=>'guido von rossum the 9',
111
+ 'id'=>'9',
112
+ 'score'=>0.53799295}]
113
+ }}
114
+ RUBY_CODE
115
+ conn = Solr::Connection.new 'http://localhost:9999'
116
+ set_post_return(ruby_code)
117
+
118
+ count = 0
119
+ conn.query('foo') do |hit|
120
+ assert_equal "guido von rossum the #{count}", hit['name']
121
+ count += 1
122
+ end
123
+
124
+ assert_equal 10, count
125
+ end
126
+
127
+ def test_facets
128
+ ruby_code =
129
+ <<RUBY_CODE
130
+ {
131
+ 'responseHeader'=>{
132
+ 'status'=>0,
133
+ 'QTime'=>1897,
134
+ 'params'=>{
135
+ 'facet.limit'=>'20',
136
+ 'wt'=>'ruby',
137
+ 'rows'=>'0',
138
+ 'facet'=>'true',
139
+ 'facet.mincount'=>'1',
140
+ 'facet.field'=>[
141
+ 'subject_genre_facet',
142
+ 'subject_geographic_facet',
143
+ 'subject_format_facet',
144
+ 'subject_era_facet',
145
+ 'subject_topic_facet'],
146
+ 'indent'=>'true',
147
+ 'fl'=>'*,score',
148
+ 'q'=>'[* TO *]',
149
+ 'qt'=>'standard',
150
+ 'facet.sort'=>'true'}},
151
+ 'response'=>{'numFound'=>49999,'start'=>0,'maxScore'=>1.0,'docs'=>[]
152
+ },
153
+ 'facet_counts'=>{
154
+ 'facet_queries'=>{},
155
+ 'facet_fields'=>{
156
+ 'subject_genre_facet'=>[
157
+ 'Biography.',2605,
158
+ 'Congresses.',1837,
159
+ 'Bibliography.',672,
160
+ 'Exhibitions.',642,
161
+ 'Periodicals.',615,
162
+ 'Sources.',485]}}
163
+ }
164
+ RUBY_CODE
165
+ set_post_return(ruby_code)
166
+ conn = Solr::Connection.new "http://localhost:9999"
167
+ response = conn.query('foo')
168
+ facets = response.field_facets('subject_genre_facet')
169
+ assert_equal 2605, facets[0].value
170
+ assert_equal 485, facets[5].value
171
+ end
172
+
173
+ end
174
+
@@ -0,0 +1,16 @@
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
+ # dynamically require all tests files
14
+ Dir.glob("*_test.rb").each do | file |
15
+ require file
16
+ end
@@ -0,0 +1,2 @@
1
+ medium associatedURL boxHeightInInches boxLengthInInches boxWeightInPounds boxWidthInInches scannednumber upc asin country title fullTitle series numberInSeries edition aspect mediacount genre price currentValue language netrating description owner publisher published rare purchaseDate rating used signed hasExperienced notes location paid condition notowned author illustrator pages
2
+ book 9780865681743 0865681740 us Xing Yi Nei Gong: Xing Yi Health Maintenance and Internal Strength Development Xing Yi Nei Gong: Xing Yi Health Maintenance and Internal Strength Development Paperback $21.95 $14.05 4.5 This is the most complete book on the art of xing yi (hsing Yi) available. It includes the complete xing yi history and lineage going back eight generations; manuscripts handed down from famous practitioners Dai Long Bang and Li Neng Ran; 16 health maintenance and power development exercises; qigong (chi kung) exerices; xing yi long spear power training exercises; and more. Unique Publications 1998-02-10 12:00:00 +0000 2007-02-03 02:22:25 -0500 Dan Miller/ Tim Cartmell 200
@@ -0,0 +1,24 @@
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'
14
+ require 'test/unit'
15
+
16
+ class UtilTest < Test::Unit::TestCase
17
+ def test_paired_array_to_hash
18
+ assert_equal({:key1 => :value1, :key2 => :value2}, Solr::Util.paired_array_to_hash([:key1, :value1, :key2, :value2]))
19
+ end
20
+
21
+ def test_query_parser_escape
22
+ assert_equal %q(http\:\/\/lucene\.apache\.org\/solr), Solr::Util.query_parser_escape("http://lucene.apache.org/solr")
23
+ end
24
+ end
@@ -0,0 +1,38 @@
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
+ begin
14
+ require 'solr'
15
+ require 'test/unit'
16
+ require 'xml/libxml'
17
+
18
+ class XPathMapperTest < Test::Unit::TestCase
19
+
20
+ def setup
21
+ @doc = XML::Document.file(File.expand_path(File.dirname(__FILE__)) + "/xpath_test_file.xml")
22
+ end
23
+
24
+ def test_simple_xpath
25
+ mapping = {:solr_field1 => :'/root/parent/child',
26
+ :solr_field2 => :'/root/parent/child/@attribute'}
27
+
28
+ mapper = Solr::Importer::XPathMapper.new(mapping)
29
+ mapped_data = mapper.map(@doc)
30
+
31
+ assert_equal ['text1', 'text2'], mapped_data[:solr_field1]
32
+ assert_equal ['attribute1', 'attribute2'], mapped_data[:solr_field2]
33
+ end
34
+
35
+ end
36
+ rescue LoadError => e
37
+ puts "XPathMapperTest not run because #{e}"
38
+ end
@@ -0,0 +1,25 @@
1
+ <!--
2
+ /**
3
+ * Licensed to the Apache Software Foundation (ASF) under one or more
4
+ * contributor license agreements. See the NOTICE file distributed with
5
+ * this work for additional information regarding copyright ownership.
6
+ * The ASF licenses this file to You under the Apache License, Version 2.0
7
+ * (the "License"); you may not use this file except in compliance with
8
+ * the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ -->
20
+ <root>
21
+ <parent>
22
+ <child attribute="attribute1">text1</child>
23
+ <child attribute="attribute2">text2</child>
24
+ </parent>
25
+ </root>
metadata ADDED
@@ -0,0 +1,173 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: greglu-solr-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
+ platform: ruby
6
+ authors:
7
+ - Apache Solr
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-06 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: solr-ruby exposes the power of Solr as a Ruby DSL (domain specific language).
17
+ email: ruby-dev@lucene.apache.org
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README
24
+ - LICENSE.txt
25
+ files:
26
+ - solr
27
+ - solr/conf
28
+ - solr/conf/xslt
29
+ - solr/conf/xslt/example.xsl
30
+ - solr/conf/schema.xml
31
+ - solr/conf/protwords.txt
32
+ - solr/conf/stopwords.txt
33
+ - solr/conf/solrconfig.xml
34
+ - solr/conf/scripts.conf
35
+ - solr/conf/admin-extra.html
36
+ - solr/conf/synonyms.txt
37
+ - test
38
+ - test/unit
39
+ - test/unit/standard_response_test.rb
40
+ - test/unit/document_test.rb
41
+ - test/unit/select_test.rb
42
+ - test/unit/delimited_file_source_test.rb
43
+ - test/unit/xpath_test_file.xml
44
+ - test/unit/array_mapper_test.rb
45
+ - test/unit/solr_mock_base.rb
46
+ - test/unit/field_test.rb
47
+ - test/unit/modify_document_test.rb
48
+ - test/unit/add_document_test.rb
49
+ - test/unit/xpath_mapper_test.rb
50
+ - test/unit/request_test.rb
51
+ - test/unit/commit_test.rb
52
+ - test/unit/suite.rb
53
+ - test/unit/changes_yaml_test.rb
54
+ - test/unit/spellcheck_response_test.rb
55
+ - test/unit/ping_test.rb
56
+ - test/unit/dismax_request_test.rb
57
+ - test/unit/indexer_test.rb
58
+ - test/unit/response_test.rb
59
+ - test/unit/connection_test.rb
60
+ - test/unit/delete_test.rb
61
+ - test/unit/tab_delimited.txt
62
+ - test/unit/hpricot_test_file.xml
63
+ - test/unit/standard_request_test.rb
64
+ - test/unit/hpricot_mapper_test.rb
65
+ - test/unit/spellchecker_request_test.rb
66
+ - test/unit/data_mapper_test.rb
67
+ - test/unit/util_test.rb
68
+ - test/functional
69
+ - test/functional/test_solr_server.rb
70
+ - test/functional/server_test.rb
71
+ - test/conf
72
+ - test/conf/schema.xml
73
+ - test/conf/protwords.txt
74
+ - test/conf/stopwords.txt
75
+ - test/conf/solrconfig.xml
76
+ - test/conf/scripts.conf
77
+ - test/conf/admin-extra.html
78
+ - test/conf/synonyms.txt
79
+ - script
80
+ - script/setup.rb
81
+ - script/solrshell
82
+ - lib
83
+ - lib/solr
84
+ - lib/solr/importer
85
+ - lib/solr/importer/delimited_file_source.rb
86
+ - lib/solr/importer/solr_source.rb
87
+ - lib/solr/importer/array_mapper.rb
88
+ - lib/solr/importer/mapper.rb
89
+ - lib/solr/importer/xpath_mapper.rb
90
+ - lib/solr/importer/hpricot_mapper.rb
91
+ - lib/solr/request
92
+ - lib/solr/request/ping.rb
93
+ - lib/solr/request/spellcheck.rb
94
+ - lib/solr/request/select.rb
95
+ - lib/solr/request/optimize.rb
96
+ - lib/solr/request/standard.rb
97
+ - lib/solr/request/delete.rb
98
+ - lib/solr/request/index_info.rb
99
+ - lib/solr/request/update.rb
100
+ - lib/solr/request/dismax.rb
101
+ - lib/solr/request/modify_document.rb
102
+ - lib/solr/request/add_document.rb
103
+ - lib/solr/request/commit.rb
104
+ - lib/solr/request/base.rb
105
+ - lib/solr/response
106
+ - lib/solr/response/ping.rb
107
+ - lib/solr/response/spellcheck.rb
108
+ - lib/solr/response/select.rb
109
+ - lib/solr/response/optimize.rb
110
+ - lib/solr/response/standard.rb
111
+ - lib/solr/response/xml.rb
112
+ - lib/solr/response/ruby.rb
113
+ - lib/solr/response/delete.rb
114
+ - lib/solr/response/index_info.rb
115
+ - lib/solr/response/dismax.rb
116
+ - lib/solr/response/modify_document.rb
117
+ - lib/solr/response/add_document.rb
118
+ - lib/solr/response/commit.rb
119
+ - lib/solr/response/base.rb
120
+ - lib/solr/util.rb
121
+ - lib/solr/document.rb
122
+ - lib/solr/exception.rb
123
+ - lib/solr/indexer.rb
124
+ - lib/solr/response.rb
125
+ - lib/solr/connection.rb
126
+ - lib/solr/xml.rb
127
+ - lib/solr/importer.rb
128
+ - lib/solr/field.rb
129
+ - lib/solr/solrtasks.rb
130
+ - lib/solr/request.rb
131
+ - lib/solr.rb
132
+ - examples
133
+ - examples/marc
134
+ - examples/marc/marc_importer.rb
135
+ - examples/delicious_library
136
+ - examples/delicious_library/sample_export.txt
137
+ - examples/delicious_library/dl_importer.rb
138
+ - examples/tang
139
+ - examples/tang/tang_importer.rb
140
+ - LICENSE.txt
141
+ - Rakefile
142
+ - CHANGES.yml
143
+ - README
144
+ - solr-ruby.gemspec
145
+ has_rdoc: true
146
+ homepage: http://github.com/greglu/solr-ruby
147
+ post_install_message:
148
+ rdoc_options:
149
+ - --inline-source
150
+ - --charset=UTF-8
151
+ require_paths:
152
+ - lib
153
+ required_ruby_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: "0"
158
+ version:
159
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: "0"
164
+ version:
165
+ requirements: []
166
+
167
+ rubyforge_project: solr-ruby
168
+ rubygems_version: 1.2.0
169
+ signing_key:
170
+ specification_version: 2
171
+ summary: Ruby library for working with Apache Solr. Packaged and maintained on github by greglu
172
+ test_files: []
173
+