sunspot 2.2.7 → 2.5.0
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.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.rspec +2 -0
- data/Appraisals +7 -0
- data/Gemfile +0 -8
- data/lib/sunspot/adapters.rb +4 -1
- data/lib/sunspot/configuration.rb +1 -0
- data/lib/sunspot/data_extractor.rb +36 -6
- data/lib/sunspot/dsl/field_query.rb +11 -0
- data/lib/sunspot/dsl/field_stats.rb +7 -0
- data/lib/sunspot/dsl/fields.rb +16 -0
- data/lib/sunspot/dsl/group.rb +10 -0
- data/lib/sunspot/dsl/scope.rb +23 -18
- data/lib/sunspot/field.rb +11 -0
- data/lib/sunspot/field_factory.rb +6 -2
- data/lib/sunspot/query/abstract_json_field_facet.rb +70 -0
- data/lib/sunspot/query/bbox.rb +5 -1
- data/lib/sunspot/query/date_field_json_facet.rb +25 -0
- data/lib/sunspot/query/field_json_facet.rb +19 -0
- data/lib/sunspot/query/field_stats.rb +35 -2
- data/lib/sunspot/query/group.rb +4 -5
- data/lib/sunspot/query/join.rb +2 -4
- data/lib/sunspot/query/range_json_facet.rb +28 -0
- data/lib/sunspot/query/restriction.rb +19 -4
- data/lib/sunspot/query.rb +3 -3
- data/lib/sunspot/schema.rb +10 -2
- data/lib/sunspot/search/abstract_search.rb +14 -1
- data/lib/sunspot/search/field_json_facet.rb +33 -0
- data/lib/sunspot/search/hit.rb +6 -1
- data/lib/sunspot/search/hit_enumerable.rb +4 -1
- data/lib/sunspot/search/json_facet_row.rb +40 -0
- data/lib/sunspot/search/json_facet_stats.rb +23 -0
- data/lib/sunspot/search/standard_search.rb +2 -3
- data/lib/sunspot/search/stats_json_row.rb +82 -0
- data/lib/sunspot/search/stats_row.rb +3 -1
- data/lib/sunspot/search.rb +4 -3
- data/lib/sunspot/session.rb +13 -5
- data/lib/sunspot/setup.rb +31 -0
- data/lib/sunspot/util.rb +23 -0
- data/lib/sunspot/version.rb +1 -1
- data/spec/api/adapters_spec.rb +32 -19
- data/spec/api/batcher_spec.rb +15 -15
- data/spec/api/binding_spec.rb +3 -3
- data/spec/api/class_set_spec.rb +3 -3
- data/spec/api/data_extractor_spec.rb +39 -0
- data/spec/api/hit_enumerable_spec.rb +32 -9
- data/spec/api/indexer/attributes_spec.rb +31 -31
- data/spec/api/indexer/batch_spec.rb +8 -7
- data/spec/api/indexer/dynamic_fields_spec.rb +8 -8
- data/spec/api/indexer/fixed_fields_spec.rb +12 -12
- data/spec/api/indexer/fulltext_spec.rb +8 -8
- data/spec/api/indexer/removal_spec.rb +14 -14
- data/spec/api/indexer_spec.rb +2 -2
- data/spec/api/query/advanced_manipulation_examples.rb +3 -3
- data/spec/api/query/connectives_examples.rb +26 -14
- data/spec/api/query/dsl_spec.rb +17 -9
- data/spec/api/query/dynamic_fields_examples.rb +18 -18
- data/spec/api/query/faceting_examples.rb +62 -62
- data/spec/api/query/fulltext_examples.rb +63 -58
- data/spec/api/query/function_spec.rb +26 -26
- data/spec/api/query/geo_examples.rb +6 -6
- data/spec/api/query/group_spec.rb +6 -6
- data/spec/api/query/highlighting_examples.rb +26 -26
- data/spec/api/query/join_spec.rb +2 -2
- data/spec/api/query/more_like_this_spec.rb +29 -29
- data/spec/api/query/ordering_pagination_examples.rb +25 -25
- data/spec/api/query/scope_examples.rb +39 -39
- data/spec/api/query/spatial_examples.rb +3 -3
- data/spec/api/query/spellcheck_examples.rb +3 -3
- data/spec/api/query/standard_spec.rb +1 -1
- data/spec/api/query/stats_examples.rb +8 -8
- data/spec/api/query/text_field_scoping_examples.rb +5 -5
- data/spec/api/query/types_spec.rb +4 -4
- data/spec/api/search/cursor_paginated_collection_spec.rb +12 -12
- data/spec/api/search/dynamic_fields_spec.rb +4 -4
- data/spec/api/search/faceting_spec.rb +55 -52
- data/spec/api/search/highlighting_spec.rb +7 -7
- data/spec/api/search/hits_spec.rb +43 -29
- data/spec/api/search/paginated_collection_spec.rb +18 -18
- data/spec/api/search/results_spec.rb +13 -13
- data/spec/api/search/search_spec.rb +3 -3
- data/spec/api/search/stats_spec.rb +10 -10
- data/spec/api/session_proxy/class_sharding_session_proxy_spec.rb +19 -18
- data/spec/api/session_proxy/id_sharding_session_proxy_spec.rb +9 -9
- data/spec/api/session_proxy/master_slave_session_proxy_spec.rb +10 -6
- data/spec/api/session_proxy/retry_5xx_session_proxy_spec.rb +10 -10
- data/spec/api/session_proxy/sharding_session_proxy_spec.rb +14 -13
- data/spec/api/session_proxy/silent_fail_session_proxy_spec.rb +2 -2
- data/spec/api/session_proxy/spec_helper.rb +1 -1
- data/spec/api/session_proxy/thread_local_session_proxy_spec.rb +9 -5
- data/spec/api/session_spec.rb +42 -42
- data/spec/api/sunspot_spec.rb +7 -4
- data/spec/helpers/integration_helper.rb +1 -0
- data/spec/integration/atomic_updates_spec.rb +25 -11
- data/spec/integration/dynamic_fields_spec.rb +10 -10
- data/spec/integration/faceting_spec.rb +252 -39
- data/spec/integration/field_grouping_spec.rb +35 -16
- data/spec/integration/field_lists_spec.rb +57 -0
- data/spec/integration/geospatial_spec.rb +34 -8
- data/spec/integration/highlighting_spec.rb +5 -5
- data/spec/integration/indexing_spec.rb +5 -5
- data/spec/integration/join_spec.rb +45 -0
- data/spec/integration/keyword_search_spec.rb +47 -45
- data/spec/integration/local_search_spec.rb +4 -4
- data/spec/integration/more_like_this_spec.rb +7 -7
- data/spec/integration/scoped_search_spec.rb +108 -108
- data/spec/integration/spellcheck_spec.rb +52 -7
- data/spec/integration/stats_spec.rb +54 -13
- data/spec/integration/stored_fields_spec.rb +1 -1
- data/spec/integration/test_pagination.rb +4 -4
- data/spec/integration/unicode_spec.rb +1 -1
- data/spec/mocks/adapters.rb +33 -0
- data/spec/mocks/photo.rb +14 -4
- data/spec/mocks/post.rb +9 -1
- data/spec/spec_helper.rb +11 -10
- data/sunspot.gemspec +3 -1
- metadata +49 -6
@@ -3,45 +3,86 @@ require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
3
3
|
describe 'search stats' do
|
4
4
|
before :each do
|
5
5
|
Sunspot.remove_all
|
6
|
-
@posts = Post.new(:ratings_average => 4.0, :blog_id => 2),
|
7
|
-
Post.new(:ratings_average => 4.0, :blog_id => 1),
|
8
|
-
Post.new(:ratings_average => 3.0, :blog_id => 2)
|
6
|
+
@posts = Post.new(:ratings_average => 4.0, :author_name => 'plinio', :blog_id => 2),
|
7
|
+
Post.new(:ratings_average => 4.0, :author_name => 'caio', :blog_id => 1),
|
8
|
+
Post.new(:ratings_average => 3.0, :author_name => 'sempronio', :blog_id => 2)
|
9
9
|
Sunspot.index!(@posts)
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'returns minimum stats' do
|
13
|
-
Sunspot.search(Post) do
|
13
|
+
expect(Sunspot.search(Post) do
|
14
14
|
stats :average_rating
|
15
|
-
end.stats(:average_rating).min.
|
15
|
+
end.stats(:average_rating).min).to eq(3.0)
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'returns maximum stats' do
|
19
|
-
Sunspot.search(Post) do
|
19
|
+
expect(Sunspot.search(Post) do
|
20
20
|
stats :average_rating
|
21
|
-
end.stats(:average_rating).max.
|
21
|
+
end.stats(:average_rating).max).to eq(4.0)
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'returns count stats' do
|
25
|
-
Sunspot.search(Post) do
|
25
|
+
expect(Sunspot.search(Post) do
|
26
26
|
stats :average_rating
|
27
|
-
end.stats(:average_rating).count.
|
27
|
+
end.stats(:average_rating).count).to eq(3)
|
28
28
|
end
|
29
29
|
|
30
30
|
describe 'facets' do
|
31
31
|
it 'returns minimum on facet row with two blog ids' do
|
32
|
-
Sunspot.search(Post) do
|
32
|
+
expect(Sunspot.search(Post) do
|
33
33
|
stats :average_rating do
|
34
34
|
facet :blog_id
|
35
35
|
end
|
36
|
-
end.stats(:average_rating).facet(:blog_id).rows[1].min.
|
36
|
+
end.stats(:average_rating).facet(:blog_id).rows[1].min).to eq(3.0)
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'returns maximum on facet row with two blog ids' do
|
40
|
-
Sunspot.search(Post) do
|
40
|
+
expect(Sunspot.search(Post) do
|
41
41
|
stats :average_rating do
|
42
42
|
facet :blog_id
|
43
43
|
end
|
44
|
-
end.stats(:average_rating).facet(:blog_id).rows[1].max.
|
44
|
+
end.stats(:average_rating).facet(:blog_id).rows[1].max).to eq(4.0)
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
describe 'json facets' do
|
49
|
+
it 'returns minimum on facet row with two blog ids' do
|
50
|
+
expect(Sunspot.search(Post) do
|
51
|
+
stats :average_rating, sort: :min do
|
52
|
+
json_facet :blog_id
|
53
|
+
end
|
54
|
+
end.json_facet_stats(:blog_id).rows[1].min).to eq(3.0)
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'returns maximum on facet row with two blog ids' do
|
58
|
+
expect(Sunspot.search(Post) do
|
59
|
+
stats :average_rating, sort: :max do
|
60
|
+
json_facet :blog_id
|
61
|
+
end
|
62
|
+
end.json_facet_stats(:blog_id).rows[1].max).to eq(4.0)
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns only sum' do
|
66
|
+
search = Sunspot.search(Post) do
|
67
|
+
stats :average_rating, stats: [:sum] do
|
68
|
+
json_facet :blog_id
|
69
|
+
end
|
70
|
+
end
|
71
|
+
expect(search.json_facet_stats(:blog_id).rows[1].max).to eq(nil)
|
72
|
+
expect(search.json_facet_stats(:blog_id).rows[1].min).to eq(nil)
|
73
|
+
expect(search.json_facet_stats(:blog_id).rows[1].avg).to eq(nil)
|
74
|
+
expect(search.json_facet_stats(:blog_id).rows[1].sumsq).to eq(nil)
|
75
|
+
expect(search.json_facet_stats(:blog_id).rows[1].sum).to eq(4.0)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'works with nested facets' do
|
79
|
+
search = Sunspot.search(Post) do
|
80
|
+
stats :average_rating, sort: :min do
|
81
|
+
json_facet(:blog_id, nested: { field: :author_name, limit: 3, nested: { field: :average_rating } } )
|
82
|
+
end
|
83
|
+
end
|
84
|
+
expect(search.json_facet_stats(:blog_id).rows[1].nested.first.nested.first.min).to eq(4.0)
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
47
88
|
end
|
@@ -11,7 +11,7 @@ describe 'pagination' do
|
|
11
11
|
|
12
12
|
it 'should return all by default' do
|
13
13
|
results = Sunspot.search(Post) { order_by :blog_id }.results
|
14
|
-
results.
|
14
|
+
expect(results).to eq(@posts)
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should return first page of 10' do
|
@@ -19,7 +19,7 @@ describe 'pagination' do
|
|
19
19
|
order_by :blog_id
|
20
20
|
paginate :page => 1, :per_page => 10
|
21
21
|
end.results
|
22
|
-
results.
|
22
|
+
expect(results).to eq(@posts[0,10])
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should return second page of 10' do
|
@@ -27,7 +27,7 @@ describe 'pagination' do
|
|
27
27
|
order_by :blog_id
|
28
28
|
paginate :page => 2, :per_page => 10
|
29
29
|
end.results
|
30
|
-
results.
|
30
|
+
expect(results).to eq(@posts[10,10])
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should return pages with offsets' do
|
@@ -38,6 +38,6 @@ describe 'pagination' do
|
|
38
38
|
|
39
39
|
# page 1 is 3, 4, 5, 6, 7
|
40
40
|
# page 2 is 8, 9, 10, 11, 12
|
41
|
-
results.
|
41
|
+
expect(results).to eq(@posts[8,5])
|
42
42
|
end
|
43
43
|
end
|
data/spec/mocks/adapters.rb
CHANGED
@@ -7,7 +7,40 @@ end
|
|
7
7
|
class UnseenModel < AbstractModel
|
8
8
|
end
|
9
9
|
|
10
|
+
class ModelWithPrefixId < AbstractModel
|
11
|
+
def id
|
12
|
+
1
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Sunspot.setup(ModelWithPrefixId) do
|
17
|
+
id_prefix { "USERDATA!" }
|
18
|
+
end
|
19
|
+
|
20
|
+
class ModelWithNestedPrefixId < AbstractModel
|
21
|
+
def id
|
22
|
+
1
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
Sunspot.setup(ModelWithNestedPrefixId) do
|
27
|
+
id_prefix { "USER!USERDATA!" }
|
28
|
+
end
|
29
|
+
|
30
|
+
class ModelWithoutPrefixId < AbstractModel
|
31
|
+
def id
|
32
|
+
1
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
Sunspot.setup(ModelWithoutPrefixId) do
|
37
|
+
end
|
38
|
+
|
39
|
+
|
10
40
|
class AbstractModelInstanceAdapter < Sunspot::Adapters::InstanceAdapter
|
41
|
+
def id
|
42
|
+
@instance.id
|
43
|
+
end
|
11
44
|
end
|
12
45
|
|
13
46
|
class AbstractModelDataAccessor < Sunspot::Adapters::DataAccessor
|
data/spec/mocks/photo.rb
CHANGED
@@ -13,6 +13,15 @@ Sunspot.setup(Photo) do
|
|
13
13
|
time :created_at, :trie => true
|
14
14
|
end
|
15
15
|
|
16
|
+
class Picture < MockRecord
|
17
|
+
attr_accessor :description, :photo_container_id
|
18
|
+
end
|
19
|
+
|
20
|
+
Sunspot.setup(Picture) do
|
21
|
+
text :description
|
22
|
+
integer :photo_container_id
|
23
|
+
end
|
24
|
+
|
16
25
|
class PhotoContainer < MockRecord
|
17
26
|
attr_accessor :description
|
18
27
|
|
@@ -25,8 +34,9 @@ Sunspot.setup(PhotoContainer) do
|
|
25
34
|
integer :id
|
26
35
|
text :description, :default_boost => 1.2
|
27
36
|
|
28
|
-
join(:caption,
|
29
|
-
join(:photo_rating, :target => Photo,
|
30
|
-
join(:caption,
|
31
|
-
join(:description,
|
37
|
+
join(:caption, :target => Photo, :type => :string, :join => { :from => :photo_container_id, :to => :id })
|
38
|
+
join(:photo_rating, :target => Photo, :type => :trie_float, :join => { :from => :photo_container_id, :to => :id }, :as => 'average_rating_ft')
|
39
|
+
join(:caption, :target => Photo, :type => :text, :join => { :from => :photo_container_id, :to => :id })
|
40
|
+
join(:description, :target => Photo, :type => :text, :join => { :from => :photo_container_id, :to => :id }, :prefix => "photo")
|
41
|
+
join(:description, :target => Picture, :type => :text, :join => { :from => :photo_container_id, :to => :id }, :prefix => "picture")
|
32
42
|
end
|
data/spec/mocks/post.rb
CHANGED
@@ -37,12 +37,16 @@ end
|
|
37
37
|
|
38
38
|
Sunspot.setup(Post) do
|
39
39
|
text :title, :boost => 2
|
40
|
+
text :text_array, :boost => 3 do
|
41
|
+
[title, title]
|
42
|
+
end
|
40
43
|
text :body, :stored => true, :more_like_this => true
|
41
44
|
text :backwards_title do
|
42
45
|
title.reverse if title
|
43
46
|
end
|
44
47
|
text :tags, :more_like_this => true
|
45
48
|
string :title, :stored => true
|
49
|
+
string :author_name
|
46
50
|
integer :blog_id, :references => Blog
|
47
51
|
integer :category_ids, :multiple => true
|
48
52
|
float :average_rating, :using => :ratings_average, :trie => true
|
@@ -85,7 +89,11 @@ Sunspot.setup(Post) do
|
|
85
89
|
|
86
90
|
string :legacy_array, :as => :legacy_array_field_sm, :multiple => true do
|
87
91
|
['first string', 'second string']
|
88
|
-
|
92
|
+
end
|
93
|
+
|
94
|
+
string :tag_list, :multiple => true, :stored => true do
|
95
|
+
tags
|
96
|
+
end
|
89
97
|
end
|
90
98
|
|
91
99
|
class PhotoPost < Post
|
data/spec/spec_helper.rb
CHANGED
@@ -13,27 +13,28 @@ end
|
|
13
13
|
require File.join(File.dirname(__FILE__), 'ext')
|
14
14
|
|
15
15
|
RSpec.configure do |config|
|
16
|
-
|
17
|
-
config.filter_run :focus => true
|
16
|
+
config.filter_run :focus
|
18
17
|
config.run_all_when_everything_filtered = true
|
19
18
|
|
19
|
+
# Run specs in random order to surface order dependencies. If you find an
|
20
|
+
# order dependency and want to debug it, you can fix the order by providing
|
21
|
+
# the seed, which is printed after each run.
|
22
|
+
# --seed 1234
|
23
|
+
config.order = 'random'
|
24
|
+
|
20
25
|
# Mock session available to all spec/api tests
|
21
|
-
config.include MockSessionHelper,
|
22
|
-
:type => :api,
|
23
|
-
:example_group => {:file_path => /spec[\\\/]api/}
|
26
|
+
config.include MockSessionHelper, type: :api, file_path: /spec[\\\/]api/
|
24
27
|
|
25
28
|
# Real Solr instance is available to integration tests
|
26
|
-
config.include IntegrationHelper,
|
27
|
-
:type => :integration,
|
28
|
-
:example_group => {:file_path => /spec[\\\/]integration/}
|
29
|
+
config.include IntegrationHelper, type: :integration, file_path: /spec[\\\/]integration/
|
29
30
|
|
30
31
|
# Nested under spec/api
|
31
32
|
[:indexer, :query, :search].each do |spec_type|
|
32
33
|
helper_name = "#{spec_type}_helper"
|
33
34
|
|
34
35
|
config.include Sunspot::Util.full_const_get(Sunspot::Util.camel_case(helper_name)),
|
35
|
-
:type
|
36
|
-
:
|
36
|
+
:type => spec_type,
|
37
|
+
:file_path => /spec[\\\/]api[\\\/]#{spec_type}/
|
37
38
|
end
|
38
39
|
end
|
39
40
|
|
data/sunspot.gemspec
CHANGED
@@ -30,7 +30,9 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.add_dependency 'rsolr', '>= 1.1.1', '< 3'
|
31
31
|
s.add_dependency 'pr_geohash', '~>1.0'
|
32
32
|
|
33
|
-
s.add_development_dependency '
|
33
|
+
s.add_development_dependency 'rake', '< 12.3'
|
34
|
+
s.add_development_dependency 'rspec', '~> 3.7'
|
35
|
+
s.add_development_dependency 'appraisal', '2.2.0'
|
34
36
|
|
35
37
|
s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
|
36
38
|
'--title' << 'Sunspot - Solr-powered search for Ruby objects - API Documentation' <<
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunspot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mat Brown
|
@@ -30,7 +30,7 @@ authors:
|
|
30
30
|
autorequire:
|
31
31
|
bindir: bin
|
32
32
|
cert_chain: []
|
33
|
-
date:
|
33
|
+
date: 2019-07-12 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rsolr
|
@@ -66,20 +66,48 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "<"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '12.3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '12.3'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: '3.7'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
96
|
+
version: '3.7'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: appraisal
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.2.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.2.0
|
83
111
|
description: |2
|
84
112
|
Sunspot is a library providing a powerful, all-ruby API for the Solr search engine. Sunspot manages the configuration of persistent
|
85
113
|
Ruby classes for search and indexing and exposes Solr's most powerful features through a collection of DSLs. Complex search operations
|
@@ -91,6 +119,8 @@ extensions: []
|
|
91
119
|
extra_rdoc_files: []
|
92
120
|
files:
|
93
121
|
- ".gitignore"
|
122
|
+
- ".rspec"
|
123
|
+
- Appraisals
|
94
124
|
- Gemfile
|
95
125
|
- History.txt
|
96
126
|
- LICENSE
|
@@ -128,14 +158,17 @@ files:
|
|
128
158
|
- lib/sunspot/query.rb
|
129
159
|
- lib/sunspot/query/abstract_field_facet.rb
|
130
160
|
- lib/sunspot/query/abstract_fulltext.rb
|
161
|
+
- lib/sunspot/query/abstract_json_field_facet.rb
|
131
162
|
- lib/sunspot/query/bbox.rb
|
132
163
|
- lib/sunspot/query/boost_query.rb
|
133
164
|
- lib/sunspot/query/common_query.rb
|
134
165
|
- lib/sunspot/query/composite_fulltext.rb
|
135
166
|
- lib/sunspot/query/connective.rb
|
136
167
|
- lib/sunspot/query/date_field_facet.rb
|
168
|
+
- lib/sunspot/query/date_field_json_facet.rb
|
137
169
|
- lib/sunspot/query/dismax.rb
|
138
170
|
- lib/sunspot/query/field_facet.rb
|
171
|
+
- lib/sunspot/query/field_json_facet.rb
|
139
172
|
- lib/sunspot/query/field_list.rb
|
140
173
|
- lib/sunspot/query/field_stats.rb
|
141
174
|
- lib/sunspot/query/filter.rb
|
@@ -151,6 +184,7 @@ files:
|
|
151
184
|
- lib/sunspot/query/pagination.rb
|
152
185
|
- lib/sunspot/query/query_facet.rb
|
153
186
|
- lib/sunspot/query/range_facet.rb
|
187
|
+
- lib/sunspot/query/range_json_facet.rb
|
154
188
|
- lib/sunspot/query/restriction.rb
|
155
189
|
- lib/sunspot/query/scope.rb
|
156
190
|
- lib/sunspot/query/sort.rb
|
@@ -166,11 +200,14 @@ files:
|
|
166
200
|
- lib/sunspot/search/facet_row.rb
|
167
201
|
- lib/sunspot/search/field_facet.rb
|
168
202
|
- lib/sunspot/search/field_group.rb
|
203
|
+
- lib/sunspot/search/field_json_facet.rb
|
169
204
|
- lib/sunspot/search/field_stats.rb
|
170
205
|
- lib/sunspot/search/group.rb
|
171
206
|
- lib/sunspot/search/highlight.rb
|
172
207
|
- lib/sunspot/search/hit.rb
|
173
208
|
- lib/sunspot/search/hit_enumerable.rb
|
209
|
+
- lib/sunspot/search/json_facet_row.rb
|
210
|
+
- lib/sunspot/search/json_facet_stats.rb
|
174
211
|
- lib/sunspot/search/more_like_this_search.rb
|
175
212
|
- lib/sunspot/search/paginated_collection.rb
|
176
213
|
- lib/sunspot/search/query_facet.rb
|
@@ -178,6 +215,7 @@ files:
|
|
178
215
|
- lib/sunspot/search/range_facet.rb
|
179
216
|
- lib/sunspot/search/standard_search.rb
|
180
217
|
- lib/sunspot/search/stats_facet.rb
|
218
|
+
- lib/sunspot/search/stats_json_row.rb
|
181
219
|
- lib/sunspot/search/stats_row.rb
|
182
220
|
- lib/sunspot/session.rb
|
183
221
|
- lib/sunspot/session_proxy.rb
|
@@ -201,6 +239,7 @@ files:
|
|
201
239
|
- spec/api/batcher_spec.rb
|
202
240
|
- spec/api/binding_spec.rb
|
203
241
|
- spec/api/class_set_spec.rb
|
242
|
+
- spec/api/data_extractor_spec.rb
|
204
243
|
- spec/api/hit_enumerable_spec.rb
|
205
244
|
- spec/api/indexer/attributes_spec.rb
|
206
245
|
- spec/api/indexer/batch_spec.rb
|
@@ -262,9 +301,11 @@ files:
|
|
262
301
|
- spec/integration/dynamic_fields_spec.rb
|
263
302
|
- spec/integration/faceting_spec.rb
|
264
303
|
- spec/integration/field_grouping_spec.rb
|
304
|
+
- spec/integration/field_lists_spec.rb
|
265
305
|
- spec/integration/geospatial_spec.rb
|
266
306
|
- spec/integration/highlighting_spec.rb
|
267
307
|
- spec/integration/indexing_spec.rb
|
308
|
+
- spec/integration/join_spec.rb
|
268
309
|
- spec/integration/keyword_search_spec.rb
|
269
310
|
- spec/integration/local_search_spec.rb
|
270
311
|
- spec/integration/more_like_this_spec.rb
|
@@ -315,8 +356,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
315
356
|
- !ruby/object:Gem::Version
|
316
357
|
version: '0'
|
317
358
|
requirements: []
|
318
|
-
|
319
|
-
rubygems_version: 2.5.0
|
359
|
+
rubygems_version: 3.0.2
|
320
360
|
signing_key:
|
321
361
|
specification_version: 4
|
322
362
|
summary: Library for expressive, powerful interaction with the Solr search engine
|
@@ -325,6 +365,7 @@ test_files:
|
|
325
365
|
- spec/api/batcher_spec.rb
|
326
366
|
- spec/api/binding_spec.rb
|
327
367
|
- spec/api/class_set_spec.rb
|
368
|
+
- spec/api/data_extractor_spec.rb
|
328
369
|
- spec/api/hit_enumerable_spec.rb
|
329
370
|
- spec/api/indexer/attributes_spec.rb
|
330
371
|
- spec/api/indexer/batch_spec.rb
|
@@ -386,9 +427,11 @@ test_files:
|
|
386
427
|
- spec/integration/dynamic_fields_spec.rb
|
387
428
|
- spec/integration/faceting_spec.rb
|
388
429
|
- spec/integration/field_grouping_spec.rb
|
430
|
+
- spec/integration/field_lists_spec.rb
|
389
431
|
- spec/integration/geospatial_spec.rb
|
390
432
|
- spec/integration/highlighting_spec.rb
|
391
433
|
- spec/integration/indexing_spec.rb
|
434
|
+
- spec/integration/join_spec.rb
|
392
435
|
- spec/integration/keyword_search_spec.rb
|
393
436
|
- spec/integration/local_search_spec.rb
|
394
437
|
- spec/integration/more_like_this_spec.rb
|