UnderpantsGnome-sunspot 0.9.1.1

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.
Files changed (103) hide show
  1. data/History.txt +39 -0
  2. data/LICENSE +18 -0
  3. data/README.rdoc +154 -0
  4. data/Rakefile +9 -0
  5. data/TODO +4 -0
  6. data/VERSION.yml +4 -0
  7. data/bin/sunspot-configure-solr +46 -0
  8. data/bin/sunspot-solr +62 -0
  9. data/lib/light_config.rb +40 -0
  10. data/lib/sunspot.rb +470 -0
  11. data/lib/sunspot/adapters.rb +265 -0
  12. data/lib/sunspot/composite_setup.rb +186 -0
  13. data/lib/sunspot/configuration.rb +38 -0
  14. data/lib/sunspot/data_extractor.rb +47 -0
  15. data/lib/sunspot/date_facet.rb +36 -0
  16. data/lib/sunspot/date_facet_row.rb +17 -0
  17. data/lib/sunspot/dsl.rb +3 -0
  18. data/lib/sunspot/dsl/field_query.rb +72 -0
  19. data/lib/sunspot/dsl/fields.rb +86 -0
  20. data/lib/sunspot/dsl/query.rb +59 -0
  21. data/lib/sunspot/dsl/query_facet.rb +31 -0
  22. data/lib/sunspot/dsl/restriction.rb +25 -0
  23. data/lib/sunspot/dsl/scope.rb +193 -0
  24. data/lib/sunspot/dsl/search.rb +30 -0
  25. data/lib/sunspot/facet.rb +51 -0
  26. data/lib/sunspot/facet_row.rb +34 -0
  27. data/lib/sunspot/field.rb +157 -0
  28. data/lib/sunspot/field_factory.rb +126 -0
  29. data/lib/sunspot/indexer.rb +127 -0
  30. data/lib/sunspot/instantiated_facet.rb +38 -0
  31. data/lib/sunspot/instantiated_facet_row.rb +12 -0
  32. data/lib/sunspot/query.rb +190 -0
  33. data/lib/sunspot/query/base_query.rb +90 -0
  34. data/lib/sunspot/query/connective.rb +77 -0
  35. data/lib/sunspot/query/dynamic_query.rb +69 -0
  36. data/lib/sunspot/query/field_facet.rb +149 -0
  37. data/lib/sunspot/query/field_query.rb +57 -0
  38. data/lib/sunspot/query/pagination.rb +39 -0
  39. data/lib/sunspot/query/query_facet.rb +72 -0
  40. data/lib/sunspot/query/query_facet_row.rb +19 -0
  41. data/lib/sunspot/query/restriction.rb +225 -0
  42. data/lib/sunspot/query/scope.rb +165 -0
  43. data/lib/sunspot/query/sort.rb +36 -0
  44. data/lib/sunspot/query/sort_composite.rb +33 -0
  45. data/lib/sunspot/query_facet.rb +33 -0
  46. data/lib/sunspot/query_facet_row.rb +21 -0
  47. data/lib/sunspot/schema.rb +165 -0
  48. data/lib/sunspot/search.rb +222 -0
  49. data/lib/sunspot/search/hit.rb +62 -0
  50. data/lib/sunspot/session.rb +201 -0
  51. data/lib/sunspot/setup.rb +271 -0
  52. data/lib/sunspot/type.rb +200 -0
  53. data/lib/sunspot/util.rb +164 -0
  54. data/solr/etc/jetty.xml +212 -0
  55. data/solr/etc/webdefault.xml +379 -0
  56. data/solr/lib/jetty-6.1.3.jar +0 -0
  57. data/solr/lib/jetty-util-6.1.3.jar +0 -0
  58. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  59. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  60. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  61. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  62. data/solr/lib/servlet-api-2.5-6.1.3.jar +0 -0
  63. data/solr/solr/conf/elevate.xml +36 -0
  64. data/solr/solr/conf/protwords.txt +21 -0
  65. data/solr/solr/conf/schema.xml +50 -0
  66. data/solr/solr/conf/solrconfig.xml +696 -0
  67. data/solr/solr/conf/stopwords.txt +57 -0
  68. data/solr/solr/conf/synonyms.txt +31 -0
  69. data/solr/start.jar +0 -0
  70. data/solr/webapps/solr.war +0 -0
  71. data/spec/api/adapters_spec.rb +33 -0
  72. data/spec/api/build_search_spec.rb +918 -0
  73. data/spec/api/indexer_spec.rb +311 -0
  74. data/spec/api/query_spec.rb +153 -0
  75. data/spec/api/search_retrieval_spec.rb +325 -0
  76. data/spec/api/session_spec.rb +157 -0
  77. data/spec/api/spec_helper.rb +1 -0
  78. data/spec/api/sunspot_spec.rb +18 -0
  79. data/spec/integration/dynamic_fields_spec.rb +55 -0
  80. data/spec/integration/faceting_spec.rb +169 -0
  81. data/spec/integration/keyword_search_spec.rb +83 -0
  82. data/spec/integration/scoped_search_spec.rb +188 -0
  83. data/spec/integration/spec_helper.rb +1 -0
  84. data/spec/integration/stored_fields_spec.rb +10 -0
  85. data/spec/integration/test_pagination.rb +32 -0
  86. data/spec/mocks/adapters.rb +32 -0
  87. data/spec/mocks/blog.rb +3 -0
  88. data/spec/mocks/comment.rb +19 -0
  89. data/spec/mocks/connection.rb +84 -0
  90. data/spec/mocks/mock_adapter.rb +30 -0
  91. data/spec/mocks/mock_record.rb +41 -0
  92. data/spec/mocks/photo.rb +8 -0
  93. data/spec/mocks/post.rb +70 -0
  94. data/spec/mocks/user.rb +8 -0
  95. data/spec/spec_helper.rb +47 -0
  96. data/tasks/gemspec.rake +25 -0
  97. data/tasks/rcov.rake +28 -0
  98. data/tasks/rdoc.rake +21 -0
  99. data/tasks/schema.rake +19 -0
  100. data/tasks/spec.rake +24 -0
  101. data/tasks/todo.rake +4 -0
  102. data/templates/schema.xml.haml +24 -0
  103. metadata +245 -0
data/tasks/rdoc.rake ADDED
@@ -0,0 +1,21 @@
1
+ gem 'mislav-hanna'
2
+ require 'hanna/rdoctask'
3
+
4
+ Rake::RDocTask.new(:doc) do |rdoc|
5
+ version = Jeweler::VersionHelper.new(File.join(File.dirname(__FILE__), '..')).to_s
6
+ rdoc.title = "Sunspot #{version} - Solr-powered search for Ruby objects - API Documentation"
7
+ rdoc.main = 'README.rdoc'
8
+ rdoc.rdoc_files.include('README.rdoc', 'lib/sunspot.rb', 'lib/sunspot/**/*.rb')
9
+ rdoc.rdoc_dir = 'doc'
10
+ rdoc.options << "--webcvs=http://github.com/outoftime/sunspot/tree/v#{version}/%s" << '--title' << 'Sunspot - Solr-powered search for Ruby objects - API Documentation'
11
+ end
12
+
13
+ namespace :doc do
14
+ desc 'Generate rdoc and move into pages directory'
15
+ task :publish => :redoc do
16
+ doc_dir = File.join(File.dirname(__FILE__), '..', 'doc')
17
+ publish_dir = File.join(File.dirname(__FILE__), '..', 'pages', 'docs')
18
+ FileUtils.rm_rf(publish_dir) if File.exist?(publish_dir)
19
+ FileUtils.cp_r(doc_dir, publish_dir)
20
+ end
21
+ end
data/tasks/schema.rake ADDED
@@ -0,0 +1,19 @@
1
+ namespace :schema do
2
+ desc 'Compile schema from Haml template'
3
+ task :compile do
4
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'sunspot', 'schema')
5
+ File.open(
6
+ File.join(
7
+ File.dirname(__FILE__),
8
+ '..',
9
+ 'solr',
10
+ 'solr',
11
+ 'conf',
12
+ 'schema.xml'
13
+ ),
14
+ 'w'
15
+ ) do |file|
16
+ file << Sunspot::Schema.new.to_xml
17
+ end
18
+ end
19
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,24 @@
1
+ gem 'rspec', '~>1.1'
2
+
3
+ require 'spec'
4
+ require 'spec/rake/spectask'
5
+
6
+ desc 'run specs'
7
+ Spec::Rake::SpecTask.new('spec') do |t|
8
+ t.spec_files = FileList[File.join(File.dirname(__FILE__), '..', 'spec', '**', '*_spec.rb')]
9
+ t.spec_opts = ['--color']
10
+ end
11
+
12
+ namespace :spec do
13
+ desc 'run api specs (mock out Solr dependency)'
14
+ Spec::Rake::SpecTask.new('api') do |t|
15
+ t.spec_files = FileList[File.join(File.dirname(__FILE__), '..', 'spec', 'api', '*_spec.rb')]
16
+ t.spec_opts = ['--color']
17
+ end
18
+
19
+ desc 'run integration specs (be sure to run `bin/sunspot-solr start`)'
20
+ Spec::Rake::SpecTask.new('integration') do |t|
21
+ t.spec_files = FileList[File.join(File.dirname(__FILE__), '..', 'spec', 'integration', '*_spec.rb')]
22
+ t.spec_opts = ['--color']
23
+ end
24
+ end
data/tasks/todo.rake ADDED
@@ -0,0 +1,4 @@
1
+ desc 'Show all TODO and related tags'
2
+ task :todo do
3
+ FileList['lib/**/*.rb'].egrep(/#.*(TODO|FIXME|XXX)/)
4
+ end
@@ -0,0 +1,24 @@
1
+ !!! XML
2
+ %schema{ :name => 'sunspot', :version => 0.9 }
3
+ %types
4
+ %fieldtype{ :name => 'text', :class => 'solr.TextField', :positionIncrementGap => 100 }
5
+ %analyzer
6
+ %tokenizer{ :class => schema.tokenizer }/
7
+ - for filter in schema.filters
8
+ %filter{ :class => filter }/
9
+ %fieldtype{ :name => 'rand', :class => 'solr.RandomSortField' }
10
+ - schema.types.each do |type|
11
+ %fieldtype{ :name => type.name, :class => "solr.#{type.class_name}Field", :omitNorms => 'true' }/
12
+ %fields
13
+ %field{ :name => 'id', :type => 'string', :indexed => 'true', :stored => 'true', :multiValued => 'false' }/
14
+ %field{ :name => 'type', :type => 'string', :indexed => 'true', :stored => 'false', :multiValued => 'true' }/
15
+ %field{ :name => 'class_name', :type => 'string', :indexed => 'true', :stored => 'false', :multiValued => 'false' }/
16
+ %field{ :name => 'text', :type => 'text', :indexed => 'true', :stored => 'false', :multiValued => 'true' }/
17
+ %dynamicField{ :name => '*_text', :type => 'text', :indexed => 'true', :stored => 'false', :multiValued => 'true' }/
18
+ %dynamicField{ :name => 'random_*', :type => 'rand', :indexed => 'true', :stored => 'false' }/
19
+ - for dynamic_field in schema.dynamic_fields
20
+ %dynamicField{ :name => dynamic_field.name, :type => dynamic_field.type, :indexed => 'true', :stored => dynamic_field.stored?, :multiValued => dynamic_field.multiValued? }/
21
+ %uniqueKey id
22
+ %defaultSearchField text
23
+ %solrQueryParser{ :defaultOperator => 'AND' }/
24
+ %copyField{ :source => '*_text', :dest => 'text' }/
metadata ADDED
@@ -0,0 +1,245 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: UnderpantsGnome-sunspot
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Mat Brown
8
+ - Peer Allan
9
+ - Dmitriy Dzema
10
+ - Benjamin Krause
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+
15
+ date: 2009-07-21 00:00:00 -07:00
16
+ default_executable: sunspot-solr
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: mwmitchell-rsolr
20
+ type: :runtime
21
+ version_requirement:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.8.9
27
+ version:
28
+ - !ruby/object:Gem::Dependency
29
+ name: daemons
30
+ type: :runtime
31
+ version_requirement:
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: "1.0"
37
+ version:
38
+ - !ruby/object:Gem::Dependency
39
+ name: optiflag
40
+ type: :runtime
41
+ version_requirement:
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 0.6.5
47
+ version:
48
+ - !ruby/object:Gem::Dependency
49
+ name: haml
50
+ type: :runtime
51
+ version_requirement:
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: "2.2"
57
+ version:
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec
60
+ type: :development
61
+ version_requirement:
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: "1.1"
67
+ version:
68
+ - !ruby/object:Gem::Dependency
69
+ name: ruby-debug
70
+ type: :development
71
+ version_requirement:
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: "0.10"
77
+ version:
78
+ description: Library for expressive, powerful interaction with the Solr search engine
79
+ email: mat@patch.com
80
+ executables:
81
+ - sunspot-solr
82
+ extensions: []
83
+
84
+ extra_rdoc_files:
85
+ - README.rdoc
86
+ files:
87
+ - History.txt
88
+ - LICENSE
89
+ - README.rdoc
90
+ - Rakefile
91
+ - TODO
92
+ - VERSION.yml
93
+ - bin/sunspot-configure-solr
94
+ - bin/sunspot-solr
95
+ - lib/light_config.rb
96
+ - lib/sunspot.rb
97
+ - lib/sunspot/adapters.rb
98
+ - lib/sunspot/composite_setup.rb
99
+ - lib/sunspot/configuration.rb
100
+ - lib/sunspot/data_extractor.rb
101
+ - lib/sunspot/date_facet.rb
102
+ - lib/sunspot/date_facet_row.rb
103
+ - lib/sunspot/dsl.rb
104
+ - lib/sunspot/dsl/field_query.rb
105
+ - lib/sunspot/dsl/fields.rb
106
+ - lib/sunspot/dsl/query.rb
107
+ - lib/sunspot/dsl/query_facet.rb
108
+ - lib/sunspot/dsl/restriction.rb
109
+ - lib/sunspot/dsl/scope.rb
110
+ - lib/sunspot/dsl/search.rb
111
+ - lib/sunspot/facet.rb
112
+ - lib/sunspot/facet_row.rb
113
+ - lib/sunspot/field.rb
114
+ - lib/sunspot/field_factory.rb
115
+ - lib/sunspot/indexer.rb
116
+ - lib/sunspot/instantiated_facet.rb
117
+ - lib/sunspot/instantiated_facet_row.rb
118
+ - lib/sunspot/query.rb
119
+ - lib/sunspot/query/base_query.rb
120
+ - lib/sunspot/query/connective.rb
121
+ - lib/sunspot/query/dynamic_query.rb
122
+ - lib/sunspot/query/field_facet.rb
123
+ - lib/sunspot/query/field_query.rb
124
+ - lib/sunspot/query/pagination.rb
125
+ - lib/sunspot/query/query_facet.rb
126
+ - lib/sunspot/query/query_facet_row.rb
127
+ - lib/sunspot/query/restriction.rb
128
+ - lib/sunspot/query/scope.rb
129
+ - lib/sunspot/query/sort.rb
130
+ - lib/sunspot/query/sort_composite.rb
131
+ - lib/sunspot/query_facet.rb
132
+ - lib/sunspot/query_facet_row.rb
133
+ - lib/sunspot/schema.rb
134
+ - lib/sunspot/search.rb
135
+ - lib/sunspot/search/hit.rb
136
+ - lib/sunspot/session.rb
137
+ - lib/sunspot/setup.rb
138
+ - lib/sunspot/type.rb
139
+ - lib/sunspot/util.rb
140
+ - solr/etc/jetty.xml
141
+ - solr/etc/webdefault.xml
142
+ - solr/lib/jetty-6.1.3.jar
143
+ - solr/lib/jetty-util-6.1.3.jar
144
+ - solr/lib/jsp-2.1/ant-1.6.5.jar
145
+ - solr/lib/jsp-2.1/core-3.1.1.jar
146
+ - solr/lib/jsp-2.1/jsp-2.1.jar
147
+ - solr/lib/jsp-2.1/jsp-api-2.1.jar
148
+ - solr/lib/servlet-api-2.5-6.1.3.jar
149
+ - solr/solr/conf/elevate.xml
150
+ - solr/solr/conf/protwords.txt
151
+ - solr/solr/conf/schema.xml
152
+ - solr/solr/conf/solrconfig.xml
153
+ - solr/solr/conf/stopwords.txt
154
+ - solr/solr/conf/synonyms.txt
155
+ - solr/start.jar
156
+ - solr/webapps/solr.war
157
+ - spec/api/adapters_spec.rb
158
+ - spec/api/build_search_spec.rb
159
+ - spec/api/indexer_spec.rb
160
+ - spec/api/query_spec.rb
161
+ - spec/api/search_retrieval_spec.rb
162
+ - spec/api/session_spec.rb
163
+ - spec/api/spec_helper.rb
164
+ - spec/api/sunspot_spec.rb
165
+ - spec/integration/dynamic_fields_spec.rb
166
+ - spec/integration/faceting_spec.rb
167
+ - spec/integration/keyword_search_spec.rb
168
+ - spec/integration/scoped_search_spec.rb
169
+ - spec/integration/spec_helper.rb
170
+ - spec/integration/stored_fields_spec.rb
171
+ - spec/integration/test_pagination.rb
172
+ - spec/mocks/adapters.rb
173
+ - spec/mocks/blog.rb
174
+ - spec/mocks/comment.rb
175
+ - spec/mocks/connection.rb
176
+ - spec/mocks/mock_adapter.rb
177
+ - spec/mocks/mock_record.rb
178
+ - spec/mocks/photo.rb
179
+ - spec/mocks/post.rb
180
+ - spec/mocks/user.rb
181
+ - spec/spec_helper.rb
182
+ - tasks/gemspec.rake
183
+ - tasks/rcov.rake
184
+ - tasks/rdoc.rake
185
+ - tasks/schema.rake
186
+ - tasks/spec.rake
187
+ - tasks/todo.rake
188
+ - templates/schema.xml.haml
189
+ has_rdoc: true
190
+ homepage: http://github.com/outoftime/sunspot
191
+ post_install_message:
192
+ rdoc_options:
193
+ - --charset=UTF-8
194
+ - --webcvs=http://github.com/outoftime/sunspot/tree/master/%s
195
+ - --title
196
+ - Sunspot - Solr-powered search for Ruby objects - API Documentation
197
+ - --main
198
+ - README.rdoc
199
+ require_paths:
200
+ - lib
201
+ required_ruby_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: "0"
206
+ version:
207
+ required_rubygems_version: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: "0"
212
+ version:
213
+ requirements: []
214
+
215
+ rubyforge_project:
216
+ rubygems_version: 1.2.0
217
+ signing_key:
218
+ specification_version: 3
219
+ summary: Library for expressive, powerful interaction with the Solr search engine
220
+ test_files:
221
+ - spec/spec_helper.rb
222
+ - spec/integration/spec_helper.rb
223
+ - spec/integration/faceting_spec.rb
224
+ - spec/integration/scoped_search_spec.rb
225
+ - spec/integration/keyword_search_spec.rb
226
+ - spec/integration/dynamic_fields_spec.rb
227
+ - spec/integration/stored_fields_spec.rb
228
+ - spec/integration/test_pagination.rb
229
+ - spec/mocks/mock_record.rb
230
+ - spec/mocks/blog.rb
231
+ - spec/mocks/adapters.rb
232
+ - spec/mocks/mock_adapter.rb
233
+ - spec/mocks/user.rb
234
+ - spec/mocks/photo.rb
235
+ - spec/mocks/post.rb
236
+ - spec/mocks/comment.rb
237
+ - spec/mocks/connection.rb
238
+ - spec/api/search_retrieval_spec.rb
239
+ - spec/api/spec_helper.rb
240
+ - spec/api/session_spec.rb
241
+ - spec/api/adapters_spec.rb
242
+ - spec/api/build_search_spec.rb
243
+ - spec/api/sunspot_spec.rb
244
+ - spec/api/indexer_spec.rb
245
+ - spec/api/query_spec.rb