elasticated 1.0.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.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +35 -0
  3. data/Gemfile +4 -0
  4. data/README.md +3 -0
  5. data/Rakefile +6 -0
  6. data/elasticated.gemspec +29 -0
  7. data/lib/elasticated.rb +102 -0
  8. data/lib/elasticated/aggregation.rb +36 -0
  9. data/lib/elasticated/aggregations/cardinality_aggregation.rb +15 -0
  10. data/lib/elasticated/aggregations/count_aggregation.rb +15 -0
  11. data/lib/elasticated/aggregations/count_distinct_aggregation.rb +15 -0
  12. data/lib/elasticated/aggregations/count_filtered_aggregation.rb +29 -0
  13. data/lib/elasticated/aggregations/custom_aggregation.rb +25 -0
  14. data/lib/elasticated/aggregations/date_histogram_aggregation.rb +35 -0
  15. data/lib/elasticated/aggregations/filter_aggregation.rb +33 -0
  16. data/lib/elasticated/aggregations/filter_aggregation_evaluator.rb +22 -0
  17. data/lib/elasticated/aggregations/group_aggregation.rb +29 -0
  18. data/lib/elasticated/aggregations/histogram_aggregation.rb +34 -0
  19. data/lib/elasticated/aggregations/nested_aggregation.rb +30 -0
  20. data/lib/elasticated/aggregations/range_aggregation.rb +35 -0
  21. data/lib/elasticated/aggregations/range_aggregation_evaluator.rb +22 -0
  22. data/lib/elasticated/aggregations/ranges_builder.rb +35 -0
  23. data/lib/elasticated/aggregations/single_value_aggregation.rb +47 -0
  24. data/lib/elasticated/aggregations/subaggregated.rb +27 -0
  25. data/lib/elasticated/aggregations/sum_distinct_aggregation.rb +20 -0
  26. data/lib/elasticated/aggregations/terms_aggregation.rb +63 -0
  27. data/lib/elasticated/aggregations/top_hits_aggregation.rb +25 -0
  28. data/lib/elasticated/block_evaluation.rb +15 -0
  29. data/lib/elasticated/boolean_clause.rb +43 -0
  30. data/lib/elasticated/client.rb +84 -0
  31. data/lib/elasticated/clonable.rb +58 -0
  32. data/lib/elasticated/conditions/custom_condition.rb +19 -0
  33. data/lib/elasticated/conditions/exists_condition.rb +11 -0
  34. data/lib/elasticated/conditions/missing_condition.rb +11 -0
  35. data/lib/elasticated/conditions/nested_condition.rb +19 -0
  36. data/lib/elasticated/conditions/range_condition.rb +27 -0
  37. data/lib/elasticated/conditions/script_condition.rb +22 -0
  38. data/lib/elasticated/conditions/standard_condition.rb +26 -0
  39. data/lib/elasticated/conditions/terms_condition.rb +22 -0
  40. data/lib/elasticated/conditions/wildcard_condition.rb +18 -0
  41. data/lib/elasticated/conditions_builder.rb +75 -0
  42. data/lib/elasticated/configurable.rb +9 -0
  43. data/lib/elasticated/configuration.rb +9 -0
  44. data/lib/elasticated/default_logger.rb +27 -0
  45. data/lib/elasticated/delimiters/date_field_delimiter.rb +33 -0
  46. data/lib/elasticated/delimiters/standard_field_delimiter.rb +33 -0
  47. data/lib/elasticated/delimiters/term_field_delimiter.rb +24 -0
  48. data/lib/elasticated/document.rb +46 -0
  49. data/lib/elasticated/helpers.rb +28 -0
  50. data/lib/elasticated/index_selector.rb +44 -0
  51. data/lib/elasticated/inspectionable.rb +9 -0
  52. data/lib/elasticated/mapping.rb +19 -0
  53. data/lib/elasticated/mapping/builder.rb +36 -0
  54. data/lib/elasticated/mapping/fields_builder.rb +148 -0
  55. data/lib/elasticated/mapping/nested_builder.rb +15 -0
  56. data/lib/elasticated/mapping/object_builder.rb +15 -0
  57. data/lib/elasticated/mapping/partial.rb +11 -0
  58. data/lib/elasticated/mapping/type_builder.rb +14 -0
  59. data/lib/elasticated/partitioned_repository.rb +27 -0
  60. data/lib/elasticated/query.rb +159 -0
  61. data/lib/elasticated/query_aggregations.rb +71 -0
  62. data/lib/elasticated/query_conditions.rb +89 -0
  63. data/lib/elasticated/repositories/monthly_partitioned_repository.rb +96 -0
  64. data/lib/elasticated/repository.rb +139 -0
  65. data/lib/elasticated/results.rb +43 -0
  66. data/lib/version.rb +92 -0
  67. data/spec/aggregation_spec.rb +587 -0
  68. data/spec/date_field_delimiter_spec.rb +67 -0
  69. data/spec/document_spec.rb +44 -0
  70. data/spec/elasticsearch_hit_1.json +14 -0
  71. data/spec/elasticsearch_response_1.json +29 -0
  72. data/spec/elasticsearch_response_2.json +44 -0
  73. data/spec/elasticsearch_top_hits_response.json +20 -0
  74. data/spec/integration_spec.rb +184 -0
  75. data/spec/mapping_spec.rb +219 -0
  76. data/spec/monthly_partitioned_repository_spec.rb +99 -0
  77. data/spec/query_aggregations_spec.rb +44 -0
  78. data/spec/query_conditions_spec.rb +314 -0
  79. data/spec/query_spec.rb +265 -0
  80. data/spec/results_spec.rb +69 -0
  81. data/spec/spec_helper.rb +2 -0
  82. data/spec/term_field_delimiter_spec.rb +39 -0
  83. metadata +225 -0
@@ -0,0 +1,265 @@
1
+ require_relative 'spec_helper'
2
+
3
+ module Elasticated
4
+ describe Query do
5
+
6
+ let(:q){ Query.new }
7
+
8
+ describe "the build method (over query conditions)" do
9
+
10
+ it "should build a 'match_all' query" do
11
+ expected_result = { query: { match_all: {} } }
12
+ expect(q.build).to eq expected_result
13
+ end
14
+
15
+ it "should build a query with conditions" do
16
+ q.conditions do |c|
17
+ c.must{ custom my_condition: {} }
18
+ end
19
+ expected_result = { query: { my_condition: {} } }
20
+ expect(q.build).to eq expected_result
21
+ end
22
+
23
+ it "should build a query with short-hand conditions" do
24
+ q.custom my_condition: {}
25
+ expected_result = { query: { my_condition: {} } }
26
+ expect(q.build).to eq expected_result
27
+ end
28
+
29
+ it "should build a query with a filter" do
30
+ q.filter do |f|
31
+ f.must{ custom my_filter: {} }
32
+ end
33
+ expected_result = { query: { filtered: { filter: { my_filter: {} } } } }
34
+ expect(q.build).to eq expected_result
35
+ end
36
+
37
+ it "should build a query with short-hand filters" do
38
+ q.filter_must{ custom my_filter: {} }
39
+ expected_result = { query: { filtered: { filter: { my_filter: {} } } } }
40
+ expect(q.build).to eq expected_result
41
+ end
42
+
43
+ it "should build a filtered query" do
44
+ q.conditions{ must{ custom my_condition: {} } }.filter{ must{ custom my_filter: {} } }
45
+ expected_result = {
46
+ query: {
47
+ filtered: {
48
+ filter: {
49
+ my_filter: {}
50
+ },
51
+ query: {
52
+ my_condition: {}
53
+ }
54
+ }
55
+ }
56
+ }
57
+ expect(q.build).to eq expected_result
58
+ end
59
+
60
+ it "should build a post-filtered query" do
61
+ q.post{ must{ custom my_filter: {} } }
62
+ expected_result = { query: { match_all: {} }, post_filter: { my_filter: {} } }
63
+ expect(q.build).to eq expected_result
64
+ end
65
+
66
+ end
67
+
68
+ describe "the build method (over other fields)" do
69
+
70
+ it "should build a 'match_all' query sorted by a single field" do
71
+ q.sort :field
72
+ expected_result = {
73
+ query: { match_all: {} },
74
+ sort: [ { field: { order: :asc } } ]
75
+ }
76
+ expect(q.build).to eq expected_result
77
+ end
78
+
79
+ it "should build a 'match_all' query sorted by a single field desc" do
80
+ q.sort :field, :desc
81
+ expected_result = {
82
+ query: { match_all: {} },
83
+ sort: [ { field: { order: :desc } } ]
84
+ }
85
+ expect(q.build).to eq expected_result
86
+ end
87
+
88
+ it "should build a 'match_all' query sorted by multiple fields" do
89
+ q.sort(:field).sort(:another_field)
90
+ expected_result = {
91
+ query: { match_all: {} },
92
+ sort: [ { field: { order: :asc } }, { another_field: { order: :asc } } ]
93
+ }
94
+ expect(q.build).to eq expected_result
95
+ end
96
+
97
+ it "should build a 'match_all' query with max size" do
98
+ q.size 5
99
+ expected_result = {
100
+ query: { match_all: {} },
101
+ size: 5
102
+ }
103
+ expect(q.build).to eq expected_result
104
+ end
105
+
106
+ it "should build a 'match_all' query with offset" do
107
+ q.from 5
108
+ expected_result = {
109
+ query: { match_all: {} },
110
+ from: 5
111
+ }
112
+ expect(q.build).to eq expected_result
113
+ end
114
+
115
+ it "should build a 'match_all' query filtering a single field" do
116
+ q.source :field
117
+ expected_result = {
118
+ query: { match_all: {} },
119
+ _source: [:field]
120
+ }
121
+ expect(q.build).to eq expected_result
122
+ end
123
+
124
+ it "should build a 'match_all' query filtering a multiple fields" do
125
+ q.source :field_one, :field_two
126
+ expected_result = {
127
+ query: { match_all: {} },
128
+ _source: [:field_one, :field_two]
129
+ }
130
+ expect(q.build).to eq expected_result
131
+ end
132
+
133
+ it "should build a 'match_all' query filtering a multiple fields (as an array)" do
134
+ q.source [:field_one, :field_two]
135
+ expected_result = {
136
+ query: { match_all: {} },
137
+ _source: [:field_one, :field_two]
138
+ }
139
+ expect(q.build).to eq expected_result
140
+ end
141
+
142
+ it "should build an aggregated search query" do
143
+ q.aggregations{ group :field, size: 5 }
144
+ expect(q.build).to eq query: { match_all: {} },
145
+ aggs: {
146
+ group_by_field: {
147
+ terms: { field: :field, size: 5 }
148
+ }
149
+ }
150
+ end
151
+
152
+ it "should build an aggregated query" do
153
+ q.size(10).sort(:field).source(:field).aggregations{ group :field, size: 5 }
154
+ expect(q.build_for_aggregations).to eq query: { match_all: {} },
155
+ size: 0,
156
+ aggs: {
157
+ group_by_field: {
158
+ terms: { field: :field, size: 5 }
159
+ }
160
+ }
161
+ end
162
+
163
+ it "should raise trying to build a non-aggregated query as an aggregated one" do
164
+ q.size(10).sort(:field).source(:field)
165
+ expect{ q.build_for_aggregations }.to raise_error
166
+ end
167
+
168
+ it "should build a 'top hits' query" do
169
+ q.size(10).sort(:field).source(:field)
170
+ expect(q.build_for_top_hits).to eq size: 10,
171
+ sort: [{ field: { order: :asc} }],
172
+ _source: [:field]
173
+ end
174
+
175
+ end
176
+
177
+ context "as an integration" do
178
+
179
+ it "should build a complex query" do
180
+ q.filter do
181
+ equal :last_name, 'Fernandez'
182
+ should do
183
+ equal :first_name, 'Pablo'
184
+ bool do
185
+ must do
186
+ equal :first_name, 'Tomas'
187
+ equal :second_name, 'Agustin'
188
+ end
189
+ end
190
+ end
191
+ minimum_should_match 1
192
+ end
193
+ q.conditions do
194
+ not_equal :city, 'CABA'
195
+ end
196
+ q.aggregations do
197
+ group :entry_type, size: 5 do
198
+ count :entry_name
199
+ end
200
+ end
201
+ q.size 20
202
+ q.from 10
203
+ q.fields :entry_id
204
+ q.post_filter do
205
+ with :note
206
+ end
207
+ expected_result = {
208
+ query: {
209
+ filtered: {
210
+ filter: {
211
+ bool: {
212
+ must: [
213
+ { terms: { last_name: ['Fernandez'] } }
214
+ ],
215
+ should: [
216
+ { terms: { first_name: ['Pablo'] } },
217
+ {
218
+ bool: {
219
+ must: [
220
+ { terms: { first_name: ['Tomas'] } },
221
+ { terms: { second_name: ['Agustin'] } }
222
+ ]
223
+ }
224
+ }
225
+ ],
226
+ minimum_should_match: 1
227
+ }
228
+ },
229
+ query: {
230
+ bool: {
231
+ must_not: [
232
+ { terms: { city: ['CABA'] } }
233
+ ]
234
+ }
235
+ }
236
+ }
237
+ },
238
+ size: 20,
239
+ from: 10,
240
+ _source: [:entry_id],
241
+ aggs: {
242
+ group_by_entry_type: {
243
+ terms: {
244
+ field: :entry_type, size: 5
245
+ },
246
+ aggs: {
247
+ count_by_entry_name: {
248
+ terms: {
249
+ field: :entry_name, size: 0
250
+ }
251
+ }
252
+ }
253
+ }
254
+ },
255
+ post_filter: {
256
+ wildcard: { note: '*' }
257
+ }
258
+ }
259
+ expect(q.build).to eq expected_result
260
+ end
261
+
262
+ end
263
+
264
+ end
265
+ end
@@ -0,0 +1,69 @@
1
+ require_relative 'spec_helper'
2
+
3
+ module Elasticated
4
+ describe Results do
5
+
6
+ def open_response(name)
7
+ JSON.parse File.read "spec/#{name}.json"
8
+ end
9
+
10
+ it "should parse an 'search' response" do
11
+ response = open_response 'elasticsearch_response_1'
12
+ results = Results.from_elasticsearch_response response
13
+ expect(results.took).to eq 106
14
+ expect(results.timed_out).to eq false
15
+ expect(results.shards.total).to eq 3
16
+ expect(results.shards.successful).to eq 3
17
+ expect(results.shards.failed).to eq 0
18
+ expect(results.hits.total).to eq 1
19
+ expect(results.hits.max_score).to eq 15.003607
20
+ expect(results.documents.count).to eq 1
21
+ expect(results.documents.first).to be_a Document
22
+ end
23
+
24
+ it "allow to access documents as an array" do
25
+ response = open_response 'elasticsearch_response_1'
26
+ results = Results.from_elasticsearch_response response
27
+ expect(results).to be_an Array
28
+ expect(results.count).to eq 1
29
+ end
30
+
31
+ it "should parse an 'search_aggregated' response" do
32
+ response = open_response 'elasticsearch_response_2'
33
+ query = Query.build do
34
+ aggregations do
35
+ nested('ads'){ group 'ads.adgroups', size: 1, as: 'group_by_adgroup' }
36
+ end
37
+ end
38
+ results = Results.from_elasticsearch_response response, query
39
+ expect(results.took).to eq 140
40
+ expect(results.timed_out).to eq false
41
+ expect(results.shards.total).to eq 3
42
+ expect(results.shards.successful).to eq 3
43
+ expect(results.shards.failed).to eq 0
44
+ expect(results.hits.total).to eq 340
45
+ expect(results.hits.max_score).to eq 7.6152167
46
+ expect(results.documents.count).to eq 1
47
+ expect(results.documents.first).to be_a Document
48
+ expect(results.aggregations).not_to be_nil
49
+ expect(results.aggregations['ads']['count']).to eq 259
50
+ expect(results.aggregations['ads']['group_by_adgroup']['6023316427914']['count']).to eq 1
51
+ end
52
+
53
+ it "should not parse aggregations on an 'search_aggregated' response if no query is provided" do
54
+ response = open_response 'elasticsearch_response_2'
55
+ results = Results.from_elasticsearch_response response
56
+ expect(results.took).to eq 140
57
+ expect(results.timed_out).to eq false
58
+ expect(results.shards.total).to eq 3
59
+ expect(results.shards.successful).to eq 3
60
+ expect(results.shards.failed).to eq 0
61
+ expect(results.hits.total).to eq 340
62
+ expect(results.hits.max_score).to eq 7.6152167
63
+ expect(results.documents.count).to eq 1
64
+ expect(results.documents.first).to be_a Document
65
+ expect(results.aggregations).to be_nil
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,2 @@
1
+ require 'rspec'
2
+ require_relative '../lib/elasticated'
@@ -0,0 +1,39 @@
1
+ require_relative 'spec_helper'
2
+
3
+ module Elasticated
4
+ module Delimiters
5
+ describe TermFieldDelimiter do
6
+
7
+ let :delimiter do
8
+ TermFieldDelimiter.new field: :account_id, as: :account
9
+ end
10
+
11
+ it "should not delimit anything" do
12
+ params = delimiter.build_strategy_params
13
+ expect(params).to be_empty
14
+ end
15
+
16
+ it "should delimit by one term" do
17
+ delimiter.add_term :account_id, 'nombre1'
18
+ params = delimiter.build_strategy_params
19
+ expect(params).to eq account: ['nombre1']
20
+ end
21
+
22
+ it "should delimit by multiple terms" do
23
+ delimiter.add_term :account_id, 'nombre1'
24
+ delimiter.add_term :account_id, 'nombre2'
25
+ params = delimiter.build_strategy_params
26
+ expect(params).to eq account: ['nombre1', 'nombre2']
27
+ end
28
+
29
+ it "should ignore duplicated terms" do
30
+ delimiter.add_term :account_id, 'nombre2'
31
+ delimiter.add_term :account_id, 'nombre2'
32
+ delimiter.add_term :account_id, 'nombre1'
33
+ params = delimiter.build_strategy_params
34
+ expect(params).to eq account: ['nombre2', 'nombre1']
35
+ end
36
+
37
+ end
38
+ end
39
+ end
metadata ADDED
@@ -0,0 +1,225 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elasticated
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Pablo Fernandez
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-08-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: elasticsearch
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: hash_ext
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.1.1
97
+ description: ''
98
+ email:
99
+ - psfutn@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - Gemfile
106
+ - README.md
107
+ - Rakefile
108
+ - elasticated.gemspec
109
+ - lib/elasticated.rb
110
+ - lib/elasticated/aggregation.rb
111
+ - lib/elasticated/aggregations/cardinality_aggregation.rb
112
+ - lib/elasticated/aggregations/count_aggregation.rb
113
+ - lib/elasticated/aggregations/count_distinct_aggregation.rb
114
+ - lib/elasticated/aggregations/count_filtered_aggregation.rb
115
+ - lib/elasticated/aggregations/custom_aggregation.rb
116
+ - lib/elasticated/aggregations/date_histogram_aggregation.rb
117
+ - lib/elasticated/aggregations/filter_aggregation.rb
118
+ - lib/elasticated/aggregations/filter_aggregation_evaluator.rb
119
+ - lib/elasticated/aggregations/group_aggregation.rb
120
+ - lib/elasticated/aggregations/histogram_aggregation.rb
121
+ - lib/elasticated/aggregations/nested_aggregation.rb
122
+ - lib/elasticated/aggregations/range_aggregation.rb
123
+ - lib/elasticated/aggregations/range_aggregation_evaluator.rb
124
+ - lib/elasticated/aggregations/ranges_builder.rb
125
+ - lib/elasticated/aggregations/single_value_aggregation.rb
126
+ - lib/elasticated/aggregations/subaggregated.rb
127
+ - lib/elasticated/aggregations/sum_distinct_aggregation.rb
128
+ - lib/elasticated/aggregations/terms_aggregation.rb
129
+ - lib/elasticated/aggregations/top_hits_aggregation.rb
130
+ - lib/elasticated/block_evaluation.rb
131
+ - lib/elasticated/boolean_clause.rb
132
+ - lib/elasticated/client.rb
133
+ - lib/elasticated/clonable.rb
134
+ - lib/elasticated/conditions/custom_condition.rb
135
+ - lib/elasticated/conditions/exists_condition.rb
136
+ - lib/elasticated/conditions/missing_condition.rb
137
+ - lib/elasticated/conditions/nested_condition.rb
138
+ - lib/elasticated/conditions/range_condition.rb
139
+ - lib/elasticated/conditions/script_condition.rb
140
+ - lib/elasticated/conditions/standard_condition.rb
141
+ - lib/elasticated/conditions/terms_condition.rb
142
+ - lib/elasticated/conditions/wildcard_condition.rb
143
+ - lib/elasticated/conditions_builder.rb
144
+ - lib/elasticated/configurable.rb
145
+ - lib/elasticated/configuration.rb
146
+ - lib/elasticated/default_logger.rb
147
+ - lib/elasticated/delimiters/date_field_delimiter.rb
148
+ - lib/elasticated/delimiters/standard_field_delimiter.rb
149
+ - lib/elasticated/delimiters/term_field_delimiter.rb
150
+ - lib/elasticated/document.rb
151
+ - lib/elasticated/helpers.rb
152
+ - lib/elasticated/index_selector.rb
153
+ - lib/elasticated/inspectionable.rb
154
+ - lib/elasticated/mapping.rb
155
+ - lib/elasticated/mapping/builder.rb
156
+ - lib/elasticated/mapping/fields_builder.rb
157
+ - lib/elasticated/mapping/nested_builder.rb
158
+ - lib/elasticated/mapping/object_builder.rb
159
+ - lib/elasticated/mapping/partial.rb
160
+ - lib/elasticated/mapping/type_builder.rb
161
+ - lib/elasticated/partitioned_repository.rb
162
+ - lib/elasticated/query.rb
163
+ - lib/elasticated/query_aggregations.rb
164
+ - lib/elasticated/query_conditions.rb
165
+ - lib/elasticated/repositories/monthly_partitioned_repository.rb
166
+ - lib/elasticated/repository.rb
167
+ - lib/elasticated/results.rb
168
+ - lib/version.rb
169
+ - spec/aggregation_spec.rb
170
+ - spec/date_field_delimiter_spec.rb
171
+ - spec/document_spec.rb
172
+ - spec/elasticsearch_hit_1.json
173
+ - spec/elasticsearch_response_1.json
174
+ - spec/elasticsearch_response_2.json
175
+ - spec/elasticsearch_top_hits_response.json
176
+ - spec/integration_spec.rb
177
+ - spec/mapping_spec.rb
178
+ - spec/monthly_partitioned_repository_spec.rb
179
+ - spec/query_aggregations_spec.rb
180
+ - spec/query_conditions_spec.rb
181
+ - spec/query_spec.rb
182
+ - spec/results_spec.rb
183
+ - spec/spec_helper.rb
184
+ - spec/term_field_delimiter_spec.rb
185
+ homepage: http://github.com/pablo31/elasticated
186
+ licenses:
187
+ - ''
188
+ metadata: {}
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.5.1
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: Elasticsearch Wrapper, with Query & Mapping Builders
209
+ test_files:
210
+ - spec/aggregation_spec.rb
211
+ - spec/date_field_delimiter_spec.rb
212
+ - spec/document_spec.rb
213
+ - spec/elasticsearch_hit_1.json
214
+ - spec/elasticsearch_response_1.json
215
+ - spec/elasticsearch_response_2.json
216
+ - spec/elasticsearch_top_hits_response.json
217
+ - spec/integration_spec.rb
218
+ - spec/mapping_spec.rb
219
+ - spec/monthly_partitioned_repository_spec.rb
220
+ - spec/query_aggregations_spec.rb
221
+ - spec/query_conditions_spec.rb
222
+ - spec/query_spec.rb
223
+ - spec/results_spec.rb
224
+ - spec/spec_helper.rb
225
+ - spec/term_field_delimiter_spec.rb