gojee-sunspot 2.0.3 → 2.0.4

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 (178) hide show
  1. data/.gitignore +12 -0
  2. data/Gemfile +5 -0
  3. data/History.txt +252 -0
  4. data/LICENSE +18 -0
  5. data/Rakefile +13 -0
  6. data/TODO +13 -0
  7. data/lib/light_config.rb +40 -0
  8. data/lib/sunspot/adapters.rb +265 -0
  9. data/lib/sunspot/batcher.rb +62 -0
  10. data/lib/sunspot/class_set.rb +23 -0
  11. data/lib/sunspot/composite_setup.rb +202 -0
  12. data/lib/sunspot/configuration.rb +53 -0
  13. data/lib/sunspot/data_extractor.rb +50 -0
  14. data/lib/sunspot/dsl/adjustable.rb +47 -0
  15. data/lib/sunspot/dsl/field_group.rb +57 -0
  16. data/lib/sunspot/dsl/field_query.rb +327 -0
  17. data/lib/sunspot/dsl/fields.rb +103 -0
  18. data/lib/sunspot/dsl/fulltext.rb +243 -0
  19. data/lib/sunspot/dsl/function.rb +27 -0
  20. data/lib/sunspot/dsl/functional.rb +44 -0
  21. data/lib/sunspot/dsl/more_like_this_query.rb +56 -0
  22. data/lib/sunspot/dsl/paginatable.rb +32 -0
  23. data/lib/sunspot/dsl/query_facet.rb +36 -0
  24. data/lib/sunspot/dsl/restriction.rb +25 -0
  25. data/lib/sunspot/dsl/restriction_with_near.rb +160 -0
  26. data/lib/sunspot/dsl/scope.rb +217 -0
  27. data/lib/sunspot/dsl/search.rb +30 -0
  28. data/lib/sunspot/dsl/standard_query.rb +123 -0
  29. data/lib/sunspot/dsl.rb +5 -0
  30. data/lib/sunspot/field.rb +193 -0
  31. data/lib/sunspot/field_factory.rb +129 -0
  32. data/lib/sunspot/indexer.rb +136 -0
  33. data/lib/sunspot/query/abstract_field_facet.rb +52 -0
  34. data/lib/sunspot/query/bbox.rb +15 -0
  35. data/lib/sunspot/query/boost_query.rb +24 -0
  36. data/lib/sunspot/query/common_query.rb +96 -0
  37. data/lib/sunspot/query/composite_fulltext.rb +36 -0
  38. data/lib/sunspot/query/connective.rb +206 -0
  39. data/lib/sunspot/query/date_field_facet.rb +14 -0
  40. data/lib/sunspot/query/dismax.rb +132 -0
  41. data/lib/sunspot/query/field_facet.rb +41 -0
  42. data/lib/sunspot/query/field_group.rb +36 -0
  43. data/lib/sunspot/query/filter.rb +38 -0
  44. data/lib/sunspot/query/function_query.rb +52 -0
  45. data/lib/sunspot/query/geo.rb +53 -0
  46. data/lib/sunspot/query/geofilt.rb +16 -0
  47. data/lib/sunspot/query/highlighting.rb +62 -0
  48. data/lib/sunspot/query/more_like_this.rb +61 -0
  49. data/lib/sunspot/query/more_like_this_query.rb +12 -0
  50. data/lib/sunspot/query/pagination.rb +42 -0
  51. data/lib/sunspot/query/query_facet.rb +16 -0
  52. data/lib/sunspot/query/restriction.rb +262 -0
  53. data/lib/sunspot/query/scope.rb +9 -0
  54. data/lib/sunspot/query/sort.rb +109 -0
  55. data/lib/sunspot/query/sort_composite.rb +34 -0
  56. data/lib/sunspot/query/standard_query.rb +16 -0
  57. data/lib/sunspot/query/text_field_boost.rb +17 -0
  58. data/lib/sunspot/query.rb +11 -0
  59. data/lib/sunspot/schema.rb +151 -0
  60. data/lib/sunspot/search/abstract_search.rb +281 -0
  61. data/lib/sunspot/search/date_facet.rb +35 -0
  62. data/lib/sunspot/search/facet_row.rb +27 -0
  63. data/lib/sunspot/search/field_facet.rb +88 -0
  64. data/lib/sunspot/search/field_group.rb +32 -0
  65. data/lib/sunspot/search/group.rb +50 -0
  66. data/lib/sunspot/search/highlight.rb +38 -0
  67. data/lib/sunspot/search/hit.rb +150 -0
  68. data/lib/sunspot/search/hit_enumerable.rb +72 -0
  69. data/lib/sunspot/search/more_like_this_search.rb +31 -0
  70. data/lib/sunspot/search/paginated_collection.rb +57 -0
  71. data/lib/sunspot/search/query_facet.rb +67 -0
  72. data/lib/sunspot/search/standard_search.rb +21 -0
  73. data/lib/sunspot/search.rb +9 -0
  74. data/lib/sunspot/session.rb +262 -0
  75. data/lib/sunspot/session_proxy/abstract_session_proxy.rb +29 -0
  76. data/lib/sunspot/session_proxy/class_sharding_session_proxy.rb +66 -0
  77. data/lib/sunspot/session_proxy/id_sharding_session_proxy.rb +89 -0
  78. data/lib/sunspot/session_proxy/master_slave_session_proxy.rb +43 -0
  79. data/lib/sunspot/session_proxy/multicore_session_proxy.rb +67 -0
  80. data/lib/sunspot/session_proxy/sharding_session_proxy.rb +222 -0
  81. data/lib/sunspot/session_proxy/silent_fail_session_proxy.rb +42 -0
  82. data/lib/sunspot/session_proxy/thread_local_session_proxy.rb +37 -0
  83. data/lib/sunspot/session_proxy.rb +95 -0
  84. data/lib/sunspot/setup.rb +350 -0
  85. data/lib/sunspot/text_field_setup.rb +29 -0
  86. data/lib/sunspot/type.rb +393 -0
  87. data/lib/sunspot/util.rb +252 -0
  88. data/lib/sunspot/version.rb +3 -0
  89. data/lib/sunspot.rb +579 -0
  90. data/log/.gitignore +1 -0
  91. data/pkg/.gitignore +1 -0
  92. data/script/console +10 -0
  93. data/spec/api/adapters_spec.rb +33 -0
  94. data/spec/api/batcher_spec.rb +112 -0
  95. data/spec/api/binding_spec.rb +50 -0
  96. data/spec/api/class_set_spec.rb +24 -0
  97. data/spec/api/hit_enumerable_spec.rb +47 -0
  98. data/spec/api/indexer/attributes_spec.rb +149 -0
  99. data/spec/api/indexer/batch_spec.rb +72 -0
  100. data/spec/api/indexer/dynamic_fields_spec.rb +42 -0
  101. data/spec/api/indexer/fixed_fields_spec.rb +57 -0
  102. data/spec/api/indexer/fulltext_spec.rb +43 -0
  103. data/spec/api/indexer/removal_spec.rb +53 -0
  104. data/spec/api/indexer/spec_helper.rb +1 -0
  105. data/spec/api/indexer_spec.rb +14 -0
  106. data/spec/api/query/advanced_manipulation_examples.rb +35 -0
  107. data/spec/api/query/connectives_examples.rb +189 -0
  108. data/spec/api/query/dsl_spec.rb +18 -0
  109. data/spec/api/query/dynamic_fields_examples.rb +165 -0
  110. data/spec/api/query/faceting_examples.rb +397 -0
  111. data/spec/api/query/fulltext_examples.rb +313 -0
  112. data/spec/api/query/function_spec.rb +79 -0
  113. data/spec/api/query/geo_examples.rb +68 -0
  114. data/spec/api/query/group_spec.rb +32 -0
  115. data/spec/api/query/highlighting_examples.rb +245 -0
  116. data/spec/api/query/more_like_this_spec.rb +140 -0
  117. data/spec/api/query/ordering_pagination_examples.rb +116 -0
  118. data/spec/api/query/scope_examples.rb +275 -0
  119. data/spec/api/query/spatial_examples.rb +27 -0
  120. data/spec/api/query/spec_helper.rb +1 -0
  121. data/spec/api/query/standard_spec.rb +29 -0
  122. data/spec/api/query/text_field_scoping_examples.rb +30 -0
  123. data/spec/api/query/types_spec.rb +20 -0
  124. data/spec/api/search/dynamic_fields_spec.rb +33 -0
  125. data/spec/api/search/faceting_spec.rb +360 -0
  126. data/spec/api/search/highlighting_spec.rb +69 -0
  127. data/spec/api/search/hits_spec.rb +131 -0
  128. data/spec/api/search/paginated_collection_spec.rb +36 -0
  129. data/spec/api/search/results_spec.rb +72 -0
  130. data/spec/api/search/search_spec.rb +23 -0
  131. data/spec/api/search/spec_helper.rb +1 -0
  132. data/spec/api/session_proxy/class_sharding_session_proxy_spec.rb +85 -0
  133. data/spec/api/session_proxy/id_sharding_session_proxy_spec.rb +30 -0
  134. data/spec/api/session_proxy/master_slave_session_proxy_spec.rb +41 -0
  135. data/spec/api/session_proxy/sharding_session_proxy_spec.rb +77 -0
  136. data/spec/api/session_proxy/silent_fail_session_proxy_spec.rb +24 -0
  137. data/spec/api/session_proxy/spec_helper.rb +9 -0
  138. data/spec/api/session_proxy/thread_local_session_proxy_spec.rb +39 -0
  139. data/spec/api/session_spec.rb +232 -0
  140. data/spec/api/spec_helper.rb +3 -0
  141. data/spec/api/sunspot_spec.rb +29 -0
  142. data/spec/ext.rb +11 -0
  143. data/spec/helpers/indexer_helper.rb +17 -0
  144. data/spec/helpers/integration_helper.rb +8 -0
  145. data/spec/helpers/mock_session_helper.rb +13 -0
  146. data/spec/helpers/query_helper.rb +26 -0
  147. data/spec/helpers/search_helper.rb +68 -0
  148. data/spec/integration/dynamic_fields_spec.rb +57 -0
  149. data/spec/integration/faceting_spec.rb +251 -0
  150. data/spec/integration/field_grouping_spec.rb +66 -0
  151. data/spec/integration/geospatial_spec.rb +85 -0
  152. data/spec/integration/highlighting_spec.rb +44 -0
  153. data/spec/integration/indexing_spec.rb +55 -0
  154. data/spec/integration/keyword_search_spec.rb +317 -0
  155. data/spec/integration/local_search_spec.rb +64 -0
  156. data/spec/integration/more_like_this_spec.rb +43 -0
  157. data/spec/integration/scoped_search_spec.rb +354 -0
  158. data/spec/integration/stored_fields_spec.rb +12 -0
  159. data/spec/integration/test_pagination.rb +43 -0
  160. data/spec/integration/unicode_spec.rb +15 -0
  161. data/spec/mocks/adapters.rb +32 -0
  162. data/spec/mocks/blog.rb +3 -0
  163. data/spec/mocks/comment.rb +21 -0
  164. data/spec/mocks/connection.rb +126 -0
  165. data/spec/mocks/mock_adapter.rb +30 -0
  166. data/spec/mocks/mock_class_sharding_session_proxy.rb +24 -0
  167. data/spec/mocks/mock_record.rb +52 -0
  168. data/spec/mocks/mock_sharding_session_proxy.rb +15 -0
  169. data/spec/mocks/photo.rb +11 -0
  170. data/spec/mocks/post.rb +86 -0
  171. data/spec/mocks/super_class.rb +2 -0
  172. data/spec/mocks/user.rb +13 -0
  173. data/spec/spec_helper.rb +40 -0
  174. data/sunspot.gemspec +42 -0
  175. data/tasks/rdoc.rake +27 -0
  176. data/tasks/schema.rake +19 -0
  177. data/tasks/todo.rake +4 -0
  178. metadata +261 -3
@@ -0,0 +1,52 @@
1
+ class MockRecord
2
+ IDS = Hash.new { |h, k| h[k] = 0 }
3
+ QUERY_COUNTS = Hash.new { |h, k| h[k] = 0 }
4
+ INSTANCES = Hash.new { |h, k| h[k] = {} }
5
+
6
+ attr_reader :id
7
+
8
+ class <<self
9
+ def reset!
10
+ IDS[name.to_sym] = 0
11
+ INSTANCES[name.to_sym] = {}
12
+ end
13
+ end
14
+
15
+ def initialize(attrs = {})
16
+ @id = attrs.delete(:id) || IDS[self.class.name.to_sym] += 1
17
+ INSTANCES[self.class.name.to_sym][@id] = self
18
+ attrs.each_pair do |name, value|
19
+ send(:"#{name}=", value)
20
+ end
21
+ end
22
+
23
+ def self.inherited(base)
24
+ base.extend(ClassMethods)
25
+ end
26
+
27
+ module ClassMethods
28
+ def get(id)
29
+ QUERY_COUNTS[self.name.to_sym] += 1
30
+ get_instance(id)
31
+ end
32
+
33
+ def get_all(ids)
34
+ QUERY_COUNTS[self.name.to_sym] += 1
35
+ ids.map { |id| get_instance(id) }.compact.sort_by { |instance| instance.id }
36
+ end
37
+
38
+ def query_count
39
+ QUERY_COUNTS[self.name.to_sym]
40
+ end
41
+
42
+ private
43
+
44
+ def get_instance(id)
45
+ INSTANCES[self.name.to_sym][id]
46
+ end
47
+ end
48
+
49
+ def destroy
50
+ INSTANCES[self.class.name.to_sym].delete(@id)
51
+ end
52
+ end
@@ -0,0 +1,15 @@
1
+ class MockShardingSessionProxy < Sunspot::SessionProxy::ShardingSessionProxy
2
+ attr_reader :sessions
3
+ alias_method :all_sessions, :sessions
4
+
5
+ def initialize(search_session)
6
+ super
7
+ @sessions = Array.new(2) { Sunspot::Session.new }.each_with_index do |session, i|
8
+ session.config.solr.url = "http://localhost:898#{i}/solr"
9
+ end
10
+ end
11
+
12
+ def session_for(object)
13
+ @sessions[object.blog_id.to_i % 2]
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ class Photo < MockRecord
2
+ attr_accessor :caption, :lat, :lng, :size, :average_rating, :created_at
3
+ end
4
+
5
+ Sunspot.setup(Photo) do
6
+ text :caption, :default_boost => 1.5
7
+ boost 0.75
8
+ integer :size, :trie => true
9
+ float :average_rating, :trie => true
10
+ time :created_at, :trie => true
11
+ end
@@ -0,0 +1,86 @@
1
+ require File.join(File.dirname(__FILE__), 'blog')
2
+ require File.join(File.dirname(__FILE__), 'super_class')
3
+
4
+ class Post < SuperClass
5
+ attr_accessor :title, :body, :blog_id, :published_at, :ratings_average,
6
+ :author_name, :featured, :expire_date, :coordinates, :tags
7
+ alias_method :featured?, :featured
8
+
9
+ def category_ids
10
+ @category_ids ||= []
11
+ end
12
+
13
+ def custom_string
14
+ @custom_string ||= {}
15
+ end
16
+
17
+ def custom_fl
18
+ @custom_fl ||= {}
19
+ end
20
+
21
+ def custom_time
22
+ @custom_time ||= {}
23
+ end
24
+
25
+ def custom_boolean
26
+ @custom_boolean ||= {}
27
+ end
28
+
29
+ private
30
+ attr_writer :category_ids, :custom_string, :custom_fl, :custom_time, :custom_boolean
31
+ end
32
+
33
+ Sunspot.setup(Post) do
34
+ text :title, :boost => 2
35
+ text :body, :stored => true, :more_like_this => true
36
+ text :backwards_title do
37
+ title.reverse if title
38
+ end
39
+ text :tags, :more_like_this => true
40
+ string :title, :stored => true
41
+ integer :blog_id, :references => Blog
42
+ integer :category_ids, :multiple => true
43
+ float :average_rating, :using => :ratings_average, :trie => true
44
+ time :published_at, :trie => true
45
+ date :expire_date
46
+ boolean :featured, :using => :featured?, :stored => true
47
+ string :sort_title do
48
+ title.downcase.sub(/^(a|an|the)\W+/, '') if title
49
+ end
50
+ integer :primary_category_id do |post|
51
+ post.category_ids.first
52
+ end
53
+ time :last_indexed_at, :stored => true do
54
+ Time.now
55
+ end
56
+ location :coordinates
57
+ latlon(:coordinates_new) { coordinates }
58
+
59
+ dynamic_string :custom_string, :stored => true
60
+ dynamic_float :custom_float, :multiple => true, :using => :custom_fl
61
+ dynamic_integer :custom_integer do
62
+ category_ids.inject({}) do |hash, category_id|
63
+ hash.merge(category_id => 1)
64
+ end
65
+ end
66
+ dynamic_time :custom_time
67
+ dynamic_boolean :custom_boolean
68
+
69
+ boost do
70
+ if ratings_average
71
+ 1 + (ratings_average - 3.0) / 4.0
72
+ end
73
+ end
74
+
75
+ string :legacy, :as => :legacy_field_s do
76
+ "legacy #{title}"
77
+ end
78
+
79
+ string :legacy_array, :as => :legacy_array_field_sm, :multiple => true do
80
+ ['first string', 'second string']
81
+ end
82
+ end
83
+
84
+ class PhotoPost < Post
85
+ end
86
+
@@ -0,0 +1,2 @@
1
+ class SuperClass < MockRecord
2
+ end
@@ -0,0 +1,13 @@
1
+ class User
2
+ attr_accessor :name, :roles
3
+
4
+ def id
5
+ 1
6
+ end
7
+ end
8
+
9
+ Sunspot.setup(User) do
10
+ text :name
11
+ string :name
12
+ integer :role_ids, :multiple => true, :stored => true
13
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ostruct'
4
+ require 'sunspot'
5
+
6
+ require File.join(File.dirname(__FILE__), 'mocks', 'mock_record.rb')
7
+ Dir.glob(File.join(File.dirname(__FILE__), 'mocks', '**', '*.rb')).each do |file|
8
+ require file unless File.basename(file) == 'mock_record.rb'
9
+ end
10
+ Dir.glob(File.join(File.dirname(__FILE__), "helpers", "*.rb")).each do |file|
11
+ require file
12
+ end
13
+ require File.join(File.dirname(__FILE__), 'ext')
14
+
15
+ RSpec.configure do |config|
16
+ # Mock session available to all spec/api tests
17
+ config.include MockSessionHelper,
18
+ :type => :api,
19
+ :example_group => {:file_path => /spec[\\\/]api/}
20
+
21
+ # Real Solr instance is available to integration tests
22
+ config.include IntegrationHelper,
23
+ :type => :integration,
24
+ :example_group => {:file_path => /spec[\\\/]integration/}
25
+
26
+ # Nested under spec/api
27
+ [:indexer, :query, :search].each do |spec_type|
28
+ helper_name = "#{spec_type}_helper"
29
+
30
+ config.include Sunspot::Util.full_const_get(Sunspot::Util.camel_case(helper_name)),
31
+ :type => spec_type,
32
+ :example_group => {:file_path => /spec[\\\/]api[\\\/]#{spec_type}/}
33
+ end
34
+ end
35
+
36
+ def without_class(clazz)
37
+ Object.class_eval { remove_const(clazz.name.to_sym) }
38
+ yield
39
+ Object.class_eval { const_set(clazz.name.to_sym, clazz) }
40
+ end
data/sunspot.gemspec ADDED
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "sunspot/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.version = Sunspot::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ['Mat Brown', 'Peer Allan', 'Dmitriy Dzema', 'Benjamin Krause', 'Marcel de Graaf', 'Brandon Keepers', 'Peter Berkenbosch',
9
+ 'Brian Atkinson', 'Tom Coleman', 'Matt Mitchell', 'Nathan Beyer', 'Kieran Topping', 'Nicolas Braem', 'Jeremy Ashkenas',
10
+ 'Dylan Vaughn', 'Brian Durand', 'Sam Granieri', 'Nick Zadrozny', 'Jason Ronallo']
11
+
12
+ s.name = 'gojee-sunspot'
13
+ s.version = Sunspot::VERSION
14
+ s.executables = ['sunspot-solr', 'sunspot-installer']
15
+ s.email = 'mat@patch.com'
16
+ s.homepage = 'http://outoftime.github.com/sunspot'
17
+
18
+ s.summary = 'Library for expressive, powerful interaction with the Solr search engine'
19
+ s.description = <<-TEXT
20
+ Sunspot is a library providing a powerful, all-ruby API for the Solr search engine. Sunspot manages the configuration of persistent
21
+ Ruby classes for search and indexing and exposes Solr's most powerful features through a collection of DSLs. Complex search operations
22
+ can be performed without hand-writing any boolean queries or building Solr parameters by hand.
23
+ TEXT
24
+
25
+ s.rubyforge_project = "sunspot"
26
+
27
+ s.files = `git ls-files`.split("\n")
28
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ s.require_paths = ["lib"]
31
+
32
+ s.add_dependency 'rsolr', '~>1.0.6'
33
+ s.add_dependency 'escape', '~>0.0.4'
34
+ s.add_dependency 'pr_geohash', '~>1.0'
35
+
36
+ s.add_development_dependency 'rspec', '~>2.6.0'
37
+ s.add_development_dependency 'hanna'
38
+
39
+ s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
40
+ '--title' << 'Sunspot - Solr-powered search for Ruby objects - API Documentation' <<
41
+ '--main' << 'README.rdoc'
42
+ end
data/tasks/rdoc.rake ADDED
@@ -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.md'
14
+ rdoc.rdoc_files.include('README.md', '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
data/tasks/schema.rake ADDED
@@ -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
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gojee-sunspot
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -118,7 +118,184 @@ email: mat@patch.com
118
118
  executables: []
119
119
  extensions: []
120
120
  extra_rdoc_files: []
121
- files: []
121
+ files:
122
+ - .gitignore
123
+ - Gemfile
124
+ - History.txt
125
+ - LICENSE
126
+ - Rakefile
127
+ - TODO
128
+ - lib/light_config.rb
129
+ - lib/sunspot.rb
130
+ - lib/sunspot/adapters.rb
131
+ - lib/sunspot/batcher.rb
132
+ - lib/sunspot/class_set.rb
133
+ - lib/sunspot/composite_setup.rb
134
+ - lib/sunspot/configuration.rb
135
+ - lib/sunspot/data_extractor.rb
136
+ - lib/sunspot/dsl.rb
137
+ - lib/sunspot/dsl/adjustable.rb
138
+ - lib/sunspot/dsl/field_group.rb
139
+ - lib/sunspot/dsl/field_query.rb
140
+ - lib/sunspot/dsl/fields.rb
141
+ - lib/sunspot/dsl/fulltext.rb
142
+ - lib/sunspot/dsl/function.rb
143
+ - lib/sunspot/dsl/functional.rb
144
+ - lib/sunspot/dsl/more_like_this_query.rb
145
+ - lib/sunspot/dsl/paginatable.rb
146
+ - lib/sunspot/dsl/query_facet.rb
147
+ - lib/sunspot/dsl/restriction.rb
148
+ - lib/sunspot/dsl/restriction_with_near.rb
149
+ - lib/sunspot/dsl/scope.rb
150
+ - lib/sunspot/dsl/search.rb
151
+ - lib/sunspot/dsl/standard_query.rb
152
+ - lib/sunspot/field.rb
153
+ - lib/sunspot/field_factory.rb
154
+ - lib/sunspot/indexer.rb
155
+ - lib/sunspot/query.rb
156
+ - lib/sunspot/query/abstract_field_facet.rb
157
+ - lib/sunspot/query/bbox.rb
158
+ - lib/sunspot/query/boost_query.rb
159
+ - lib/sunspot/query/common_query.rb
160
+ - lib/sunspot/query/composite_fulltext.rb
161
+ - lib/sunspot/query/connective.rb
162
+ - lib/sunspot/query/date_field_facet.rb
163
+ - lib/sunspot/query/dismax.rb
164
+ - lib/sunspot/query/field_facet.rb
165
+ - lib/sunspot/query/field_group.rb
166
+ - lib/sunspot/query/filter.rb
167
+ - lib/sunspot/query/function_query.rb
168
+ - lib/sunspot/query/geo.rb
169
+ - lib/sunspot/query/geofilt.rb
170
+ - lib/sunspot/query/highlighting.rb
171
+ - lib/sunspot/query/more_like_this.rb
172
+ - lib/sunspot/query/more_like_this_query.rb
173
+ - lib/sunspot/query/pagination.rb
174
+ - lib/sunspot/query/query_facet.rb
175
+ - lib/sunspot/query/restriction.rb
176
+ - lib/sunspot/query/scope.rb
177
+ - lib/sunspot/query/sort.rb
178
+ - lib/sunspot/query/sort_composite.rb
179
+ - lib/sunspot/query/standard_query.rb
180
+ - lib/sunspot/query/text_field_boost.rb
181
+ - lib/sunspot/schema.rb
182
+ - lib/sunspot/search.rb
183
+ - lib/sunspot/search/abstract_search.rb
184
+ - lib/sunspot/search/date_facet.rb
185
+ - lib/sunspot/search/facet_row.rb
186
+ - lib/sunspot/search/field_facet.rb
187
+ - lib/sunspot/search/field_group.rb
188
+ - lib/sunspot/search/group.rb
189
+ - lib/sunspot/search/highlight.rb
190
+ - lib/sunspot/search/hit.rb
191
+ - lib/sunspot/search/hit_enumerable.rb
192
+ - lib/sunspot/search/more_like_this_search.rb
193
+ - lib/sunspot/search/paginated_collection.rb
194
+ - lib/sunspot/search/query_facet.rb
195
+ - lib/sunspot/search/standard_search.rb
196
+ - lib/sunspot/session.rb
197
+ - lib/sunspot/session_proxy.rb
198
+ - lib/sunspot/session_proxy/abstract_session_proxy.rb
199
+ - lib/sunspot/session_proxy/class_sharding_session_proxy.rb
200
+ - lib/sunspot/session_proxy/id_sharding_session_proxy.rb
201
+ - lib/sunspot/session_proxy/master_slave_session_proxy.rb
202
+ - lib/sunspot/session_proxy/multicore_session_proxy.rb
203
+ - lib/sunspot/session_proxy/sharding_session_proxy.rb
204
+ - lib/sunspot/session_proxy/silent_fail_session_proxy.rb
205
+ - lib/sunspot/session_proxy/thread_local_session_proxy.rb
206
+ - lib/sunspot/setup.rb
207
+ - lib/sunspot/text_field_setup.rb
208
+ - lib/sunspot/type.rb
209
+ - lib/sunspot/util.rb
210
+ - lib/sunspot/version.rb
211
+ - log/.gitignore
212
+ - pkg/.gitignore
213
+ - script/console
214
+ - spec/api/adapters_spec.rb
215
+ - spec/api/batcher_spec.rb
216
+ - spec/api/binding_spec.rb
217
+ - spec/api/class_set_spec.rb
218
+ - spec/api/hit_enumerable_spec.rb
219
+ - spec/api/indexer/attributes_spec.rb
220
+ - spec/api/indexer/batch_spec.rb
221
+ - spec/api/indexer/dynamic_fields_spec.rb
222
+ - spec/api/indexer/fixed_fields_spec.rb
223
+ - spec/api/indexer/fulltext_spec.rb
224
+ - spec/api/indexer/removal_spec.rb
225
+ - spec/api/indexer/spec_helper.rb
226
+ - spec/api/indexer_spec.rb
227
+ - spec/api/query/advanced_manipulation_examples.rb
228
+ - spec/api/query/connectives_examples.rb
229
+ - spec/api/query/dsl_spec.rb
230
+ - spec/api/query/dynamic_fields_examples.rb
231
+ - spec/api/query/faceting_examples.rb
232
+ - spec/api/query/fulltext_examples.rb
233
+ - spec/api/query/function_spec.rb
234
+ - spec/api/query/geo_examples.rb
235
+ - spec/api/query/group_spec.rb
236
+ - spec/api/query/highlighting_examples.rb
237
+ - spec/api/query/more_like_this_spec.rb
238
+ - spec/api/query/ordering_pagination_examples.rb
239
+ - spec/api/query/scope_examples.rb
240
+ - spec/api/query/spatial_examples.rb
241
+ - spec/api/query/spec_helper.rb
242
+ - spec/api/query/standard_spec.rb
243
+ - spec/api/query/text_field_scoping_examples.rb
244
+ - spec/api/query/types_spec.rb
245
+ - spec/api/search/dynamic_fields_spec.rb
246
+ - spec/api/search/faceting_spec.rb
247
+ - spec/api/search/highlighting_spec.rb
248
+ - spec/api/search/hits_spec.rb
249
+ - spec/api/search/paginated_collection_spec.rb
250
+ - spec/api/search/results_spec.rb
251
+ - spec/api/search/search_spec.rb
252
+ - spec/api/search/spec_helper.rb
253
+ - spec/api/session_proxy/class_sharding_session_proxy_spec.rb
254
+ - spec/api/session_proxy/id_sharding_session_proxy_spec.rb
255
+ - spec/api/session_proxy/master_slave_session_proxy_spec.rb
256
+ - spec/api/session_proxy/sharding_session_proxy_spec.rb
257
+ - spec/api/session_proxy/silent_fail_session_proxy_spec.rb
258
+ - spec/api/session_proxy/spec_helper.rb
259
+ - spec/api/session_proxy/thread_local_session_proxy_spec.rb
260
+ - spec/api/session_spec.rb
261
+ - spec/api/spec_helper.rb
262
+ - spec/api/sunspot_spec.rb
263
+ - spec/ext.rb
264
+ - spec/helpers/indexer_helper.rb
265
+ - spec/helpers/integration_helper.rb
266
+ - spec/helpers/mock_session_helper.rb
267
+ - spec/helpers/query_helper.rb
268
+ - spec/helpers/search_helper.rb
269
+ - spec/integration/dynamic_fields_spec.rb
270
+ - spec/integration/faceting_spec.rb
271
+ - spec/integration/field_grouping_spec.rb
272
+ - spec/integration/geospatial_spec.rb
273
+ - spec/integration/highlighting_spec.rb
274
+ - spec/integration/indexing_spec.rb
275
+ - spec/integration/keyword_search_spec.rb
276
+ - spec/integration/local_search_spec.rb
277
+ - spec/integration/more_like_this_spec.rb
278
+ - spec/integration/scoped_search_spec.rb
279
+ - spec/integration/stored_fields_spec.rb
280
+ - spec/integration/test_pagination.rb
281
+ - spec/integration/unicode_spec.rb
282
+ - spec/mocks/adapters.rb
283
+ - spec/mocks/blog.rb
284
+ - spec/mocks/comment.rb
285
+ - spec/mocks/connection.rb
286
+ - spec/mocks/mock_adapter.rb
287
+ - spec/mocks/mock_class_sharding_session_proxy.rb
288
+ - spec/mocks/mock_record.rb
289
+ - spec/mocks/mock_sharding_session_proxy.rb
290
+ - spec/mocks/photo.rb
291
+ - spec/mocks/post.rb
292
+ - spec/mocks/super_class.rb
293
+ - spec/mocks/user.rb
294
+ - spec/spec_helper.rb
295
+ - sunspot.gemspec
296
+ - tasks/rdoc.rake
297
+ - tasks/schema.rake
298
+ - tasks/todo.rake
122
299
  homepage: http://outoftime.github.com/sunspot
123
300
  licenses: []
124
301
  post_install_message:
@@ -148,4 +325,85 @@ rubygems_version: 1.8.24
148
325
  signing_key:
149
326
  specification_version: 3
150
327
  summary: Library for expressive, powerful interaction with the Solr search engine
151
- test_files: []
328
+ test_files:
329
+ - spec/api/adapters_spec.rb
330
+ - spec/api/batcher_spec.rb
331
+ - spec/api/binding_spec.rb
332
+ - spec/api/class_set_spec.rb
333
+ - spec/api/hit_enumerable_spec.rb
334
+ - spec/api/indexer/attributes_spec.rb
335
+ - spec/api/indexer/batch_spec.rb
336
+ - spec/api/indexer/dynamic_fields_spec.rb
337
+ - spec/api/indexer/fixed_fields_spec.rb
338
+ - spec/api/indexer/fulltext_spec.rb
339
+ - spec/api/indexer/removal_spec.rb
340
+ - spec/api/indexer/spec_helper.rb
341
+ - spec/api/indexer_spec.rb
342
+ - spec/api/query/advanced_manipulation_examples.rb
343
+ - spec/api/query/connectives_examples.rb
344
+ - spec/api/query/dsl_spec.rb
345
+ - spec/api/query/dynamic_fields_examples.rb
346
+ - spec/api/query/faceting_examples.rb
347
+ - spec/api/query/fulltext_examples.rb
348
+ - spec/api/query/function_spec.rb
349
+ - spec/api/query/geo_examples.rb
350
+ - spec/api/query/group_spec.rb
351
+ - spec/api/query/highlighting_examples.rb
352
+ - spec/api/query/more_like_this_spec.rb
353
+ - spec/api/query/ordering_pagination_examples.rb
354
+ - spec/api/query/scope_examples.rb
355
+ - spec/api/query/spatial_examples.rb
356
+ - spec/api/query/spec_helper.rb
357
+ - spec/api/query/standard_spec.rb
358
+ - spec/api/query/text_field_scoping_examples.rb
359
+ - spec/api/query/types_spec.rb
360
+ - spec/api/search/dynamic_fields_spec.rb
361
+ - spec/api/search/faceting_spec.rb
362
+ - spec/api/search/highlighting_spec.rb
363
+ - spec/api/search/hits_spec.rb
364
+ - spec/api/search/paginated_collection_spec.rb
365
+ - spec/api/search/results_spec.rb
366
+ - spec/api/search/search_spec.rb
367
+ - spec/api/search/spec_helper.rb
368
+ - spec/api/session_proxy/class_sharding_session_proxy_spec.rb
369
+ - spec/api/session_proxy/id_sharding_session_proxy_spec.rb
370
+ - spec/api/session_proxy/master_slave_session_proxy_spec.rb
371
+ - spec/api/session_proxy/sharding_session_proxy_spec.rb
372
+ - spec/api/session_proxy/silent_fail_session_proxy_spec.rb
373
+ - spec/api/session_proxy/spec_helper.rb
374
+ - spec/api/session_proxy/thread_local_session_proxy_spec.rb
375
+ - spec/api/session_spec.rb
376
+ - spec/api/spec_helper.rb
377
+ - spec/api/sunspot_spec.rb
378
+ - spec/ext.rb
379
+ - spec/helpers/indexer_helper.rb
380
+ - spec/helpers/integration_helper.rb
381
+ - spec/helpers/mock_session_helper.rb
382
+ - spec/helpers/query_helper.rb
383
+ - spec/helpers/search_helper.rb
384
+ - spec/integration/dynamic_fields_spec.rb
385
+ - spec/integration/faceting_spec.rb
386
+ - spec/integration/field_grouping_spec.rb
387
+ - spec/integration/geospatial_spec.rb
388
+ - spec/integration/highlighting_spec.rb
389
+ - spec/integration/indexing_spec.rb
390
+ - spec/integration/keyword_search_spec.rb
391
+ - spec/integration/local_search_spec.rb
392
+ - spec/integration/more_like_this_spec.rb
393
+ - spec/integration/scoped_search_spec.rb
394
+ - spec/integration/stored_fields_spec.rb
395
+ - spec/integration/test_pagination.rb
396
+ - spec/integration/unicode_spec.rb
397
+ - spec/mocks/adapters.rb
398
+ - spec/mocks/blog.rb
399
+ - spec/mocks/comment.rb
400
+ - spec/mocks/connection.rb
401
+ - spec/mocks/mock_adapter.rb
402
+ - spec/mocks/mock_class_sharding_session_proxy.rb
403
+ - spec/mocks/mock_record.rb
404
+ - spec/mocks/mock_sharding_session_proxy.rb
405
+ - spec/mocks/photo.rb
406
+ - spec/mocks/post.rb
407
+ - spec/mocks/super_class.rb
408
+ - spec/mocks/user.rb
409
+ - spec/spec_helper.rb