ruben-sunspot 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. data/Gemfile +9 -0
  2. data/Gemfile.lock +22 -0
  3. data/History.txt +198 -0
  4. data/LICENSE +18 -0
  5. data/README.rdoc +244 -0
  6. data/Rakefile +11 -0
  7. data/TODO +13 -0
  8. data/VERSION.yml +4 -0
  9. data/bin/sunspot-installer +19 -0
  10. data/bin/sunspot-solr +74 -0
  11. data/installer/config/schema.yml +95 -0
  12. data/lib/light_config.rb +40 -0
  13. data/lib/sunspot.rb +529 -0
  14. data/lib/sunspot/adapters.rb +265 -0
  15. data/lib/sunspot/composite_setup.rb +202 -0
  16. data/lib/sunspot/configuration.rb +46 -0
  17. data/lib/sunspot/data_extractor.rb +50 -0
  18. data/lib/sunspot/dsl.rb +5 -0
  19. data/lib/sunspot/dsl/adjustable.rb +47 -0
  20. data/lib/sunspot/dsl/field_query.rb +266 -0
  21. data/lib/sunspot/dsl/fields.rb +113 -0
  22. data/lib/sunspot/dsl/fulltext.rb +243 -0
  23. data/lib/sunspot/dsl/function.rb +14 -0
  24. data/lib/sunspot/dsl/functional.rb +41 -0
  25. data/lib/sunspot/dsl/more_like_this_query.rb +56 -0
  26. data/lib/sunspot/dsl/paginatable.rb +28 -0
  27. data/lib/sunspot/dsl/query_facet.rb +36 -0
  28. data/lib/sunspot/dsl/restriction.rb +25 -0
  29. data/lib/sunspot/dsl/scope.rb +229 -0
  30. data/lib/sunspot/dsl/search.rb +30 -0
  31. data/lib/sunspot/dsl/standard_query.rb +125 -0
  32. data/lib/sunspot/field.rb +192 -0
  33. data/lib/sunspot/field_factory.rb +147 -0
  34. data/lib/sunspot/indexer.rb +131 -0
  35. data/lib/sunspot/installer.rb +31 -0
  36. data/lib/sunspot/installer/library_installer.rb +45 -0
  37. data/lib/sunspot/installer/schema_builder.rb +219 -0
  38. data/lib/sunspot/installer/solrconfig_updater.rb +106 -0
  39. data/lib/sunspot/installer/task_helper.rb +18 -0
  40. data/lib/sunspot/query.rb +10 -0
  41. data/lib/sunspot/query/abstract_field_facet.rb +52 -0
  42. data/lib/sunspot/query/boost_query.rb +24 -0
  43. data/lib/sunspot/query/common_query.rb +85 -0
  44. data/lib/sunspot/query/composite_fulltext.rb +31 -0
  45. data/lib/sunspot/query/connective.rb +195 -0
  46. data/lib/sunspot/query/date_field_facet.rb +14 -0
  47. data/lib/sunspot/query/dismax.rb +126 -0
  48. data/lib/sunspot/query/field_facet.rb +41 -0
  49. data/lib/sunspot/query/filter.rb +38 -0
  50. data/lib/sunspot/query/function_query.rb +52 -0
  51. data/lib/sunspot/query/highlighting.rb +55 -0
  52. data/lib/sunspot/query/local.rb +26 -0
  53. data/lib/sunspot/query/more_like_this.rb +60 -0
  54. data/lib/sunspot/query/more_like_this_query.rb +12 -0
  55. data/lib/sunspot/query/pagination.rb +38 -0
  56. data/lib/sunspot/query/query_facet.rb +16 -0
  57. data/lib/sunspot/query/restriction.rb +265 -0
  58. data/lib/sunspot/query/scope.rb +16 -0
  59. data/lib/sunspot/query/sort.rb +95 -0
  60. data/lib/sunspot/query/sort_composite.rb +33 -0
  61. data/lib/sunspot/query/standard_query.rb +20 -0
  62. data/lib/sunspot/query/text_field_boost.rb +17 -0
  63. data/lib/sunspot/schema.rb +151 -0
  64. data/lib/sunspot/search.rb +9 -0
  65. data/lib/sunspot/search/abstract_search.rb +302 -0
  66. data/lib/sunspot/search/date_facet.rb +35 -0
  67. data/lib/sunspot/search/facet_row.rb +27 -0
  68. data/lib/sunspot/search/field_facet.rb +88 -0
  69. data/lib/sunspot/search/highlight.rb +38 -0
  70. data/lib/sunspot/search/hit.rb +136 -0
  71. data/lib/sunspot/search/more_like_this_search.rb +31 -0
  72. data/lib/sunspot/search/query_facet.rb +62 -0
  73. data/lib/sunspot/search/standard_search.rb +21 -0
  74. data/lib/sunspot/server.rb +152 -0
  75. data/lib/sunspot/session.rb +252 -0
  76. data/lib/sunspot/session_proxy.rb +71 -0
  77. data/lib/sunspot/session_proxy/abstract_session_proxy.rb +29 -0
  78. data/lib/sunspot/session_proxy/class_sharding_session_proxy.rb +66 -0
  79. data/lib/sunspot/session_proxy/id_sharding_session_proxy.rb +89 -0
  80. data/lib/sunspot/session_proxy/master_slave_session_proxy.rb +43 -0
  81. data/lib/sunspot/session_proxy/sharding_session_proxy.rb +215 -0
  82. data/lib/sunspot/session_proxy/thread_local_session_proxy.rb +37 -0
  83. data/lib/sunspot/setup.rb +360 -0
  84. data/lib/sunspot/text_field_setup.rb +29 -0
  85. data/lib/sunspot/type.rb +342 -0
  86. data/lib/sunspot/util.rb +253 -0
  87. data/lib/sunspot/version.rb +3 -0
  88. data/solr/etc/jetty.xml +214 -0
  89. data/solr/etc/webdefault.xml +379 -0
  90. data/solr/lib/jetty-6.1.3.jar +0 -0
  91. data/solr/lib/jetty-util-6.1.3.jar +0 -0
  92. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  93. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  94. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  95. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  96. data/solr/lib/servlet-api-2.5-6.1.3.jar +0 -0
  97. data/solr/solr/conf/admin-extra.html +31 -0
  98. data/solr/solr/conf/elevate.xml +36 -0
  99. data/solr/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  100. data/solr/solr/conf/protwords.txt +21 -0
  101. data/solr/solr/conf/schema.xml +238 -0
  102. data/solr/solr/conf/scripts.conf +24 -0
  103. data/solr/solr/conf/solrconfig.xml +938 -0
  104. data/solr/solr/conf/spellings.txt +2 -0
  105. data/solr/solr/conf/stopwords.txt +58 -0
  106. data/solr/solr/conf/synonyms.txt +31 -0
  107. data/solr/solr/lib/lucene-spatial-2.9.1.jar +0 -0
  108. data/solr/solr/lib/solr-spatial-light-0.0.6.jar +0 -0
  109. data/solr/start.jar +0 -0
  110. data/solr/webapps/solr.war +0 -0
  111. data/spec/api/adapters_spec.rb +33 -0
  112. data/spec/api/binding_spec.rb +38 -0
  113. data/spec/api/indexer/attributes_spec.rb +149 -0
  114. data/spec/api/indexer/batch_spec.rb +46 -0
  115. data/spec/api/indexer/dynamic_fields_spec.rb +42 -0
  116. data/spec/api/indexer/fixed_fields_spec.rb +57 -0
  117. data/spec/api/indexer/fulltext_spec.rb +43 -0
  118. data/spec/api/indexer/removal_spec.rb +53 -0
  119. data/spec/api/indexer/spec_helper.rb +1 -0
  120. data/spec/api/indexer_spec.rb +14 -0
  121. data/spec/api/query/advanced_manipulation_examples.rb +35 -0
  122. data/spec/api/query/connectives_examples.rb +186 -0
  123. data/spec/api/query/dsl_spec.rb +18 -0
  124. data/spec/api/query/dynamic_fields_examples.rb +165 -0
  125. data/spec/api/query/faceting_examples.rb +399 -0
  126. data/spec/api/query/fulltext_examples.rb +315 -0
  127. data/spec/api/query/function_spec.rb +70 -0
  128. data/spec/api/query/highlighting_examples.rb +225 -0
  129. data/spec/api/query/local_examples.rb +38 -0
  130. data/spec/api/query/more_like_this_spec.rb +140 -0
  131. data/spec/api/query/ordering_pagination_examples.rb +97 -0
  132. data/spec/api/query/scope_examples.rb +263 -0
  133. data/spec/api/query/spec_helper.rb +1 -0
  134. data/spec/api/query/standard_spec.rb +28 -0
  135. data/spec/api/query/text_field_scoping_examples.rb +30 -0
  136. data/spec/api/query/types_spec.rb +20 -0
  137. data/spec/api/search/dynamic_fields_spec.rb +33 -0
  138. data/spec/api/search/faceting_spec.rb +356 -0
  139. data/spec/api/search/highlighting_spec.rb +69 -0
  140. data/spec/api/search/hits_spec.rb +149 -0
  141. data/spec/api/search/results_spec.rb +79 -0
  142. data/spec/api/search/search_spec.rb +23 -0
  143. data/spec/api/search/spec_helper.rb +1 -0
  144. data/spec/api/server_spec.rb +91 -0
  145. data/spec/api/session_proxy/class_sharding_session_proxy_spec.rb +85 -0
  146. data/spec/api/session_proxy/id_sharding_session_proxy_spec.rb +30 -0
  147. data/spec/api/session_proxy/master_slave_session_proxy_spec.rb +41 -0
  148. data/spec/api/session_proxy/sharding_session_proxy_spec.rb +77 -0
  149. data/spec/api/session_proxy/spec_helper.rb +9 -0
  150. data/spec/api/session_proxy/thread_local_session_proxy_spec.rb +50 -0
  151. data/spec/api/session_spec.rb +198 -0
  152. data/spec/api/spec_helper.rb +3 -0
  153. data/spec/api/sunspot_spec.rb +18 -0
  154. data/spec/ext.rb +11 -0
  155. data/spec/helpers/indexer_helper.rb +29 -0
  156. data/spec/helpers/query_helper.rb +38 -0
  157. data/spec/helpers/search_helper.rb +80 -0
  158. data/spec/integration/dynamic_fields_spec.rb +55 -0
  159. data/spec/integration/faceting_spec.rb +238 -0
  160. data/spec/integration/highlighting_spec.rb +22 -0
  161. data/spec/integration/indexing_spec.rb +33 -0
  162. data/spec/integration/keyword_search_spec.rb +317 -0
  163. data/spec/integration/local_search_spec.rb +91 -0
  164. data/spec/integration/more_like_this_spec.rb +43 -0
  165. data/spec/integration/scoped_search_spec.rb +349 -0
  166. data/spec/integration/spec_helper.rb +7 -0
  167. data/spec/integration/stored_fields_spec.rb +10 -0
  168. data/spec/integration/test_pagination.rb +32 -0
  169. data/spec/mocks/adapters.rb +32 -0
  170. data/spec/mocks/blog.rb +3 -0
  171. data/spec/mocks/comment.rb +21 -0
  172. data/spec/mocks/connection.rb +126 -0
  173. data/spec/mocks/mock_adapter.rb +30 -0
  174. data/spec/mocks/mock_class_sharding_session_proxy.rb +24 -0
  175. data/spec/mocks/mock_record.rb +52 -0
  176. data/spec/mocks/mock_sharding_session_proxy.rb +15 -0
  177. data/spec/mocks/photo.rb +12 -0
  178. data/spec/mocks/post.rb +76 -0
  179. data/spec/mocks/super_class.rb +2 -0
  180. data/spec/mocks/user.rb +8 -0
  181. data/spec/spec_helper.rb +52 -0
  182. data/tasks/gemspec.rake +33 -0
  183. data/tasks/rcov.rake +28 -0
  184. data/tasks/rdoc.rake +27 -0
  185. data/tasks/schema.rake +19 -0
  186. data/tasks/spec.rake +24 -0
  187. data/tasks/todo.rake +4 -0
  188. metadata +356 -0
@@ -0,0 +1,2 @@
1
+ class SuperClass < MockRecord
2
+ end
@@ -0,0 +1,8 @@
1
+ class User
2
+ attr_accessor :name
3
+ end
4
+
5
+ Sunspot.setup(User) do
6
+ text :name
7
+ string :name
8
+ end
@@ -0,0 +1,52 @@
1
+ if rsolr_gem_version = ENV['RSOLR_GEM_VERSION']
2
+ STDERR.puts("Forcing rsolr gem version #{rsolr_gem_version}")
3
+ using_gems = true
4
+ require 'rubygems'
5
+ gem 'rsolr', rsolr_gem_version
6
+ end
7
+
8
+ require 'ostruct'
9
+ begin
10
+ require 'spec'
11
+ if ENV['USE_WILL_PAGINATE']
12
+ require 'will_paginate'
13
+ require 'will_paginate/collection'
14
+ end
15
+ rescue LoadError => e
16
+ if require 'rubygems'
17
+ retry
18
+ else
19
+ raise(e)
20
+ end
21
+ end
22
+
23
+ unless gem_name = ENV['SUNSPOT_TEST_GEM']
24
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
25
+ else
26
+ gem gem_name
27
+ end
28
+ require 'sunspot'
29
+
30
+ require File.join(File.dirname(__FILE__), 'mocks', 'mock_record.rb')
31
+ Dir.glob(File.join(File.dirname(__FILE__), 'mocks', '**', '*.rb')).each do |file|
32
+ require file unless File.basename(file) == 'mock_record.rb'
33
+ end
34
+ require File.join(File.dirname(__FILE__), 'ext')
35
+
36
+ Spec::Runner.configure do |config|
37
+ Dir.glob(File.join(File.dirname(__FILE__), 'helpers', '*_helper.rb')).each do |helper|
38
+ helper_name = File.basename(helper, File.extname(helper))
39
+ spec_type = helper_name.sub(/_helper$/, '').to_sym
40
+ require(helper)
41
+ config.include(
42
+ Sunspot::Util.full_const_get(Sunspot::Util.camel_case(helper_name)),
43
+ :type => spec_type
44
+ )
45
+ end
46
+ end
47
+
48
+ def without_class(clazz)
49
+ Object.class_eval { remove_const(clazz.name.to_sym) }
50
+ yield
51
+ Object.class_eval { const_set(clazz.name.to_sym, clazz) }
52
+ end
@@ -0,0 +1,33 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'tools', 'gem_tasks')
2
+
3
+ Sunspot::GemTasks.new(:build => :copy_rdoc) do |s|
4
+ s.name = 'sunspot'
5
+ s.version = Sunspot::VERSION
6
+ s.executables = ['sunspot-solr', 'sunspot-installer']
7
+ s.email = 'mat@patch.com'
8
+ s.homepage = 'http://outoftime.github.com/sunspot'
9
+ s.summary = 'Library for expressive, powerful interaction with the Solr search engine'
10
+ s.description = <<TEXT
11
+ Sunspot is a library providing a powerful, all-ruby API for the Solr search engine. Sunspot manages the configuration of persistent Ruby classes for search and indexing and exposes Solr's most powerful features through a collection of DSLs. Complex search operations can be performed without hand-writing any boolean queries or building Solr parameters by hand.
12
+ TEXT
13
+ s.authors = ['Mat Brown', 'Peer Allan', 'Dmitriy Dzema', 'Benjamin Krause', 'Marcel de Graaf', 'Brandon Keepers', 'Peter Berkenbosch', 'Brian Atkinson', 'Tom Coleman', 'Matt Mitchell', 'Nathan Beyer', 'Kieran Topping', 'Nicolas Braem', 'Jeremy Ashkenas', 'Dylan Vaughn']
14
+ s.rubyforge_project = 'sunspot'
15
+ s.files = FileList['[A-Z]*', '{bin,installer,lib,spec,tasks,templates}/**/*', 'solr/{etc,lib,webapps}/**/*', 'solr/solr/{conf,lib}/*', 'solr/start.jar']
16
+ s.add_runtime_dependency 'rsolr', '0.12.1'
17
+ s.add_runtime_dependency 'escape', '0.0.4'
18
+ s.add_development_dependency 'rspec', '~> 1.1'
19
+ s.extra_rdoc_files = ['README.rdoc']
20
+ s.test_files = FileList['spec/**/*_spec.rb']
21
+ s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
22
+ '--title' << 'Sunspot - Solr-powered search for Ruby objects - API Documentation' <<
23
+ '--main' << 'README.rdoc'
24
+
25
+ end
26
+
27
+ task :copy_rdoc do
28
+ sunspot_root = File.join(File.dirname(__FILE__), '..')
29
+ FileUtils.cp(
30
+ File.join(sunspot_root, '..', 'README.rdoc'),
31
+ sunspot_root
32
+ )
33
+ end
@@ -0,0 +1,28 @@
1
+ require 'rake'
2
+ require 'spec/rake/spectask'
3
+
4
+ desc 'run specs with rcov'
5
+ Spec::Rake::SpecTask.new('rcov') do |t|
6
+ t.spec_files = FileList['spec/**/*_spec.rb']
7
+ t.rcov = true
8
+ t.rcov_dir = File.join('coverage', 'all')
9
+ t.rcov_opts.concat(['--exclude', 'spec', '--sort', 'coverage', '--only-uncovered'])
10
+ end
11
+
12
+ namespace :rcov do
13
+ desc 'run api specs with rcov'
14
+ Spec::Rake::SpecTask.new('api') do |t|
15
+ t.spec_files = FileList['spec/api/**/*_spec.rb']
16
+ t.rcov = true
17
+ t.rcov_dir = File.join('coverage', 'api')
18
+ t.rcov_opts.concat(['--exclude', 'spec', '--sort', 'coverage', '--only-uncovered'])
19
+ end
20
+
21
+ desc 'run integration specs with rcov'
22
+ Spec::Rake::SpecTask.new('integration') do |t|
23
+ t.spec_files = FileList['spec/integration/**/*_spec.rb']
24
+ t.rcov = true
25
+ t.rcov_dir = File.join('coverage', 'integration')
26
+ t.rcov_opts.concat(['--exclude', 'spec', '--sort', 'coverage', '--only-uncovered'])
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ begin
2
+ require 'hanna/rdoctask'
3
+ rescue LoadError
4
+ if require 'rubygems'
5
+ retry
6
+ end
7
+ # It's OK if hanna isn't installed.
8
+ end
9
+
10
+ Rake::RDocTask.new(:doc) do |rdoc|
11
+ version = Sunspot::VERSION
12
+ rdoc.title = "Sunspot #{version} - Solr-powered search for Ruby objects - API Documentation"
13
+ rdoc.main = 'README.rdoc'
14
+ rdoc.rdoc_files.include('README.rdoc', 'lib/sunspot.rb', 'lib/sunspot/**/*.rb')
15
+ rdoc.rdoc_dir = 'doc'
16
+ rdoc.options << "--webcvs=http://github.com/outoftime/sunspot/tree/v#{version}/%s" << '--title' << 'Sunspot - Solr-powered search for Ruby objects - API Documentation'
17
+ end
18
+
19
+ namespace :doc do
20
+ desc 'Generate rdoc and move into pages directory'
21
+ task :publish => :redoc do
22
+ doc_dir = File.join(File.dirname(__FILE__), '..', 'doc')
23
+ publish_dir = File.join(File.dirname(__FILE__), '..', '..', 'pages', 'docs')
24
+ FileUtils.rm_rf(publish_dir) if File.exist?(publish_dir)
25
+ FileUtils.cp_r(doc_dir, publish_dir)
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ namespace :schema do
2
+ desc 'Generate schema from 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
@@ -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
@@ -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
metadata ADDED
@@ -0,0 +1,356 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruben-sunspot
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 0
10
+ version: 1.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Mat Brown
14
+ - Peer Allan
15
+ - Dmitriy Dzema
16
+ - Benjamin Krause
17
+ - Marcel de Graaf
18
+ - Brandon Keepers
19
+ - Peter Berkenbosch
20
+ - Brian Atkinson
21
+ - Tom Coleman
22
+ - Matt Mitchell
23
+ - Nathan Beyer
24
+ - Kieran Topping
25
+ - Nicolas Braem
26
+ - Jeremy Ashkenas
27
+ - Dylan Vaughn
28
+ autorequire:
29
+ bindir: bin
30
+ cert_chain: []
31
+
32
+ date: 2010-12-14 00:00:00 +01:00
33
+ default_executable:
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rsolr
37
+ prerelease: false
38
+ requirement: &id001 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ hash: 45
44
+ segments:
45
+ - 0
46
+ - 12
47
+ - 1
48
+ version: 0.12.1
49
+ type: :runtime
50
+ version_requirements: *id001
51
+ - !ruby/object:Gem::Dependency
52
+ name: escape
53
+ prerelease: false
54
+ requirement: &id002 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - "="
58
+ - !ruby/object:Gem::Version
59
+ hash: 23
60
+ segments:
61
+ - 0
62
+ - 0
63
+ - 4
64
+ version: 0.0.4
65
+ type: :runtime
66
+ version_requirements: *id002
67
+ - !ruby/object:Gem::Dependency
68
+ name: rspec
69
+ prerelease: false
70
+ requirement: &id003 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ hash: 13
76
+ segments:
77
+ - 1
78
+ - 1
79
+ version: "1.1"
80
+ type: :development
81
+ version_requirements: *id003
82
+ description: |
83
+ Sunspot is a library providing a powerful, all-ruby API for the Solr search engine. Sunspot manages the configuration of persistent Ruby classes for search and indexing and exposes Solr's most powerful features through a collection of DSLs. Complex search operations can be performed without hand-writing any boolean queries or building Solr parameters by hand.
84
+
85
+ email: mat@patch.com
86
+ executables:
87
+ - sunspot-solr
88
+ - sunspot-installer
89
+ extensions: []
90
+
91
+ extra_rdoc_files:
92
+ - README.rdoc
93
+ files:
94
+ - Gemfile
95
+ - Gemfile.lock
96
+ - History.txt
97
+ - LICENSE
98
+ - Rakefile
99
+ - README.rdoc
100
+ - TODO
101
+ - VERSION.yml
102
+ - bin/sunspot-installer
103
+ - bin/sunspot-solr
104
+ - installer/config/schema.yml
105
+ - lib/light_config.rb
106
+ - lib/sunspot/adapters.rb
107
+ - lib/sunspot/composite_setup.rb
108
+ - lib/sunspot/configuration.rb
109
+ - lib/sunspot/data_extractor.rb
110
+ - lib/sunspot/dsl/adjustable.rb
111
+ - lib/sunspot/dsl/field_query.rb
112
+ - lib/sunspot/dsl/fields.rb
113
+ - lib/sunspot/dsl/fulltext.rb
114
+ - lib/sunspot/dsl/function.rb
115
+ - lib/sunspot/dsl/functional.rb
116
+ - lib/sunspot/dsl/more_like_this_query.rb
117
+ - lib/sunspot/dsl/paginatable.rb
118
+ - lib/sunspot/dsl/query_facet.rb
119
+ - lib/sunspot/dsl/restriction.rb
120
+ - lib/sunspot/dsl/scope.rb
121
+ - lib/sunspot/dsl/search.rb
122
+ - lib/sunspot/dsl/standard_query.rb
123
+ - lib/sunspot/dsl.rb
124
+ - lib/sunspot/field.rb
125
+ - lib/sunspot/field_factory.rb
126
+ - lib/sunspot/indexer.rb
127
+ - lib/sunspot/installer/library_installer.rb
128
+ - lib/sunspot/installer/schema_builder.rb
129
+ - lib/sunspot/installer/solrconfig_updater.rb
130
+ - lib/sunspot/installer/task_helper.rb
131
+ - lib/sunspot/installer.rb
132
+ - lib/sunspot/query/abstract_field_facet.rb
133
+ - lib/sunspot/query/boost_query.rb
134
+ - lib/sunspot/query/common_query.rb
135
+ - lib/sunspot/query/composite_fulltext.rb
136
+ - lib/sunspot/query/connective.rb
137
+ - lib/sunspot/query/date_field_facet.rb
138
+ - lib/sunspot/query/dismax.rb
139
+ - lib/sunspot/query/field_facet.rb
140
+ - lib/sunspot/query/filter.rb
141
+ - lib/sunspot/query/function_query.rb
142
+ - lib/sunspot/query/highlighting.rb
143
+ - lib/sunspot/query/local.rb
144
+ - lib/sunspot/query/more_like_this.rb
145
+ - lib/sunspot/query/more_like_this_query.rb
146
+ - lib/sunspot/query/pagination.rb
147
+ - lib/sunspot/query/query_facet.rb
148
+ - lib/sunspot/query/restriction.rb
149
+ - lib/sunspot/query/scope.rb
150
+ - lib/sunspot/query/sort.rb
151
+ - lib/sunspot/query/sort_composite.rb
152
+ - lib/sunspot/query/standard_query.rb
153
+ - lib/sunspot/query/text_field_boost.rb
154
+ - lib/sunspot/query.rb
155
+ - lib/sunspot/schema.rb
156
+ - lib/sunspot/search/abstract_search.rb
157
+ - lib/sunspot/search/date_facet.rb
158
+ - lib/sunspot/search/facet_row.rb
159
+ - lib/sunspot/search/field_facet.rb
160
+ - lib/sunspot/search/highlight.rb
161
+ - lib/sunspot/search/hit.rb
162
+ - lib/sunspot/search/more_like_this_search.rb
163
+ - lib/sunspot/search/query_facet.rb
164
+ - lib/sunspot/search/standard_search.rb
165
+ - lib/sunspot/search.rb
166
+ - lib/sunspot/server.rb
167
+ - lib/sunspot/session.rb
168
+ - lib/sunspot/session_proxy/abstract_session_proxy.rb
169
+ - lib/sunspot/session_proxy/class_sharding_session_proxy.rb
170
+ - lib/sunspot/session_proxy/id_sharding_session_proxy.rb
171
+ - lib/sunspot/session_proxy/master_slave_session_proxy.rb
172
+ - lib/sunspot/session_proxy/sharding_session_proxy.rb
173
+ - lib/sunspot/session_proxy/thread_local_session_proxy.rb
174
+ - lib/sunspot/session_proxy.rb
175
+ - lib/sunspot/setup.rb
176
+ - lib/sunspot/text_field_setup.rb
177
+ - lib/sunspot/type.rb
178
+ - lib/sunspot/util.rb
179
+ - lib/sunspot/version.rb
180
+ - lib/sunspot.rb
181
+ - spec/api/adapters_spec.rb
182
+ - spec/api/binding_spec.rb
183
+ - spec/api/indexer/attributes_spec.rb
184
+ - spec/api/indexer/batch_spec.rb
185
+ - spec/api/indexer/dynamic_fields_spec.rb
186
+ - spec/api/indexer/fixed_fields_spec.rb
187
+ - spec/api/indexer/fulltext_spec.rb
188
+ - spec/api/indexer/removal_spec.rb
189
+ - spec/api/indexer/spec_helper.rb
190
+ - spec/api/indexer_spec.rb
191
+ - spec/api/query/advanced_manipulation_examples.rb
192
+ - spec/api/query/connectives_examples.rb
193
+ - spec/api/query/dsl_spec.rb
194
+ - spec/api/query/dynamic_fields_examples.rb
195
+ - spec/api/query/faceting_examples.rb
196
+ - spec/api/query/fulltext_examples.rb
197
+ - spec/api/query/function_spec.rb
198
+ - spec/api/query/highlighting_examples.rb
199
+ - spec/api/query/local_examples.rb
200
+ - spec/api/query/more_like_this_spec.rb
201
+ - spec/api/query/ordering_pagination_examples.rb
202
+ - spec/api/query/scope_examples.rb
203
+ - spec/api/query/spec_helper.rb
204
+ - spec/api/query/standard_spec.rb
205
+ - spec/api/query/text_field_scoping_examples.rb
206
+ - spec/api/query/types_spec.rb
207
+ - spec/api/search/dynamic_fields_spec.rb
208
+ - spec/api/search/faceting_spec.rb
209
+ - spec/api/search/highlighting_spec.rb
210
+ - spec/api/search/hits_spec.rb
211
+ - spec/api/search/results_spec.rb
212
+ - spec/api/search/search_spec.rb
213
+ - spec/api/search/spec_helper.rb
214
+ - spec/api/server_spec.rb
215
+ - spec/api/session_proxy/class_sharding_session_proxy_spec.rb
216
+ - spec/api/session_proxy/id_sharding_session_proxy_spec.rb
217
+ - spec/api/session_proxy/master_slave_session_proxy_spec.rb
218
+ - spec/api/session_proxy/sharding_session_proxy_spec.rb
219
+ - spec/api/session_proxy/spec_helper.rb
220
+ - spec/api/session_proxy/thread_local_session_proxy_spec.rb
221
+ - spec/api/session_spec.rb
222
+ - spec/api/spec_helper.rb
223
+ - spec/api/sunspot_spec.rb
224
+ - spec/ext.rb
225
+ - spec/helpers/indexer_helper.rb
226
+ - spec/helpers/query_helper.rb
227
+ - spec/helpers/search_helper.rb
228
+ - spec/integration/dynamic_fields_spec.rb
229
+ - spec/integration/faceting_spec.rb
230
+ - spec/integration/highlighting_spec.rb
231
+ - spec/integration/indexing_spec.rb
232
+ - spec/integration/keyword_search_spec.rb
233
+ - spec/integration/local_search_spec.rb
234
+ - spec/integration/more_like_this_spec.rb
235
+ - spec/integration/scoped_search_spec.rb
236
+ - spec/integration/spec_helper.rb
237
+ - spec/integration/stored_fields_spec.rb
238
+ - spec/integration/test_pagination.rb
239
+ - spec/mocks/adapters.rb
240
+ - spec/mocks/blog.rb
241
+ - spec/mocks/comment.rb
242
+ - spec/mocks/connection.rb
243
+ - spec/mocks/mock_adapter.rb
244
+ - spec/mocks/mock_class_sharding_session_proxy.rb
245
+ - spec/mocks/mock_record.rb
246
+ - spec/mocks/mock_sharding_session_proxy.rb
247
+ - spec/mocks/photo.rb
248
+ - spec/mocks/post.rb
249
+ - spec/mocks/super_class.rb
250
+ - spec/mocks/user.rb
251
+ - spec/spec_helper.rb
252
+ - tasks/gemspec.rake
253
+ - tasks/rcov.rake
254
+ - tasks/rdoc.rake
255
+ - tasks/schema.rake
256
+ - tasks/spec.rake
257
+ - tasks/todo.rake
258
+ - solr/etc/jetty.xml
259
+ - solr/etc/webdefault.xml
260
+ - solr/lib/jetty-6.1.3.jar
261
+ - solr/lib/jetty-util-6.1.3.jar
262
+ - solr/lib/jsp-2.1/ant-1.6.5.jar
263
+ - solr/lib/jsp-2.1/core-3.1.1.jar
264
+ - solr/lib/jsp-2.1/jsp-2.1.jar
265
+ - solr/lib/jsp-2.1/jsp-api-2.1.jar
266
+ - solr/lib/servlet-api-2.5-6.1.3.jar
267
+ - solr/webapps/solr.war
268
+ - solr/solr/conf/admin-extra.html
269
+ - solr/solr/conf/elevate.xml
270
+ - solr/solr/conf/mapping-ISOLatin1Accent.txt
271
+ - solr/solr/conf/protwords.txt
272
+ - solr/solr/conf/schema.xml
273
+ - solr/solr/conf/scripts.conf
274
+ - solr/solr/conf/solrconfig.xml
275
+ - solr/solr/conf/spellings.txt
276
+ - solr/solr/conf/stopwords.txt
277
+ - solr/solr/conf/synonyms.txt
278
+ - solr/solr/lib/lucene-spatial-2.9.1.jar
279
+ - solr/solr/lib/solr-spatial-light-0.0.6.jar
280
+ - solr/start.jar
281
+ has_rdoc: true
282
+ homepage: http://outoftime.github.com/sunspot
283
+ licenses: []
284
+
285
+ post_install_message:
286
+ rdoc_options:
287
+ - --webcvs=http://github.com/outoftime/sunspot/tree/master/%s
288
+ - --title
289
+ - Sunspot - Solr-powered search for Ruby objects - API Documentation
290
+ - --main
291
+ - README.rdoc
292
+ require_paths:
293
+ - lib
294
+ required_ruby_version: !ruby/object:Gem::Requirement
295
+ none: false
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ hash: 3
300
+ segments:
301
+ - 0
302
+ version: "0"
303
+ required_rubygems_version: !ruby/object:Gem::Requirement
304
+ none: false
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ hash: 3
309
+ segments:
310
+ - 0
311
+ version: "0"
312
+ requirements: []
313
+
314
+ rubyforge_project: sunspot
315
+ rubygems_version: 1.3.7
316
+ signing_key:
317
+ specification_version: 3
318
+ summary: Library for expressive, powerful interaction with the Solr search engine
319
+ test_files:
320
+ - spec/api/adapters_spec.rb
321
+ - spec/api/binding_spec.rb
322
+ - spec/api/indexer/attributes_spec.rb
323
+ - spec/api/indexer/batch_spec.rb
324
+ - spec/api/indexer/dynamic_fields_spec.rb
325
+ - spec/api/indexer/fixed_fields_spec.rb
326
+ - spec/api/indexer/fulltext_spec.rb
327
+ - spec/api/indexer/removal_spec.rb
328
+ - spec/api/indexer_spec.rb
329
+ - spec/api/query/dsl_spec.rb
330
+ - spec/api/query/function_spec.rb
331
+ - spec/api/query/more_like_this_spec.rb
332
+ - spec/api/query/standard_spec.rb
333
+ - spec/api/query/types_spec.rb
334
+ - spec/api/search/dynamic_fields_spec.rb
335
+ - spec/api/search/faceting_spec.rb
336
+ - spec/api/search/highlighting_spec.rb
337
+ - spec/api/search/hits_spec.rb
338
+ - spec/api/search/results_spec.rb
339
+ - spec/api/search/search_spec.rb
340
+ - spec/api/server_spec.rb
341
+ - spec/api/session_proxy/class_sharding_session_proxy_spec.rb
342
+ - spec/api/session_proxy/id_sharding_session_proxy_spec.rb
343
+ - spec/api/session_proxy/master_slave_session_proxy_spec.rb
344
+ - spec/api/session_proxy/sharding_session_proxy_spec.rb
345
+ - spec/api/session_proxy/thread_local_session_proxy_spec.rb
346
+ - spec/api/session_spec.rb
347
+ - spec/api/sunspot_spec.rb
348
+ - spec/integration/dynamic_fields_spec.rb
349
+ - spec/integration/faceting_spec.rb
350
+ - spec/integration/highlighting_spec.rb
351
+ - spec/integration/indexing_spec.rb
352
+ - spec/integration/keyword_search_spec.rb
353
+ - spec/integration/local_search_spec.rb
354
+ - spec/integration/more_like_this_spec.rb
355
+ - spec/integration/scoped_search_spec.rb
356
+ - spec/integration/stored_fields_spec.rb