elasticated 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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