eson-dsl 0.7.0 → 0.8.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 (64) hide show
  1. data/MethodReference.md +53 -0
  2. data/README.md +59 -113
  3. data/Rakefile +2 -2
  4. data/eson-dsl.gemspec +2 -1
  5. data/examples/queries/custom_boost_factor.rb +9 -0
  6. data/examples/queries/custom_filters_score.rb +15 -0
  7. data/examples/queries/custom_filters_score_with_script.rb +15 -0
  8. data/examples/queries/filtered.rb +8 -0
  9. data/examples/queries/indices.rb +12 -0
  10. data/examples/queries/match.rb +7 -0
  11. data/examples/queries/multi_match.rb +5 -0
  12. data/examples/queries/text.rb +2 -0
  13. data/lib/compat.rb +15 -0
  14. data/lib/eson-dsl.rb +35 -0
  15. data/lib/eson/modules/query_plugin.rb +4 -2
  16. data/lib/eson/search/and.rb +1 -5
  17. data/lib/eson/search/base_query.rb +5 -8
  18. data/lib/eson/search/bool.rb +2 -5
  19. data/lib/eson/search/boosting.rb +1 -4
  20. data/lib/eson/search/custom_boost_factor.rb +19 -0
  21. data/lib/eson/search/custom_filters_score.rb +42 -0
  22. data/lib/eson/search/date_histogram.rb +0 -2
  23. data/lib/eson/search/facet.rb +10 -5
  24. data/lib/eson/search/facets.rb +2 -1
  25. data/lib/eson/search/field_based.rb +1 -1
  26. data/lib/eson/search/filter.rb +1 -0
  27. data/lib/eson/search/filtered.rb +15 -0
  28. data/lib/eson/search/geo_distance.rb +2 -5
  29. data/lib/eson/search/has_child.rb +3 -5
  30. data/lib/eson/search/ids.rb +2 -4
  31. data/lib/eson/search/indices.rb +48 -0
  32. data/lib/eson/search/match.rb +10 -0
  33. data/lib/eson/search/multi_match.rb +21 -0
  34. data/lib/eson/search/prefix.rb +2 -4
  35. data/lib/eson/search/query.rb +1 -0
  36. data/lib/eson/search/term.rb +2 -4
  37. data/lib/eson/search/terms.rb +3 -5
  38. data/lib/eson/search/top_children.rb +2 -4
  39. data/test/search/facets/scoped.json +1 -1
  40. data/test/search/filters/and.rb +7 -11
  41. data/test/search/filters/bool.json +1 -1
  42. data/test/search/filters/bool.rb +17 -22
  43. data/test/search/filters/geo_bounding_box_hash.json +1 -1
  44. data/test/search/filters/geo_distance_hash.json +1 -1
  45. data/test/search/filters/geo_distance_range_hash.json +1 -1
  46. data/test/search/filters/geo_polygon_hash.json +1 -1
  47. data/test/search/filters/has_child.rb +7 -11
  48. data/test/search/filters/ids.rb +7 -11
  49. data/test/search/filters/not.rb +5 -9
  50. data/test/search/filters/or.rb +7 -11
  51. data/test/search/filters/range.rb +6 -11
  52. data/test/search/filters/type.json +1 -1
  53. data/test/search/filters/type.rb +1 -1
  54. data/test/search/filters_test.rb +2 -2
  55. data/test/search/queries/custom_boost_factor.json +10 -0
  56. data/test/search/queries/custom_filters_score.json +21 -0
  57. data/test/search/queries/filtered.rb +1 -0
  58. data/test/search/queries/filters_and_facets.json +1 -1
  59. data/test/search/queries/indices.json +13 -0
  60. data/test/search/queries/match.json +1 -0
  61. data/test/search/queries/multi_match.json +8 -0
  62. data/test/search/query_test.rb +70 -15
  63. metadata +29 -9
  64. data/TODO.md +0 -1
@@ -1,15 +1,11 @@
1
1
  {
2
2
  :query => {
3
- :filtered => {
4
- :query => {
5
- :term => {:tag => "something"}
6
- },
7
- :filter => {
8
- :and => [
9
- { :range => { :post_date => {:from => "2010-03-01", :to => "2010-04-01"} } },
10
- { :prefix => { "name.second" => "ba"} }
11
- ]
12
- }
13
- }
3
+ :term => {:tag => "something"}
4
+ },
5
+ :filter => {
6
+ :and => [
7
+ { :range => { :post_date => {:from => "2010-03-01", :to => "2010-04-01"} } },
8
+ { :prefix => { "name.second" => "ba"} }
9
+ ]
14
10
  }
15
11
  }
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"bool":{"must":{"term":{"user":"kimchy"}},"must_not":{"range":{"age":{"from":10,"to":20}}},"should":[{"term":{"tag":"wow"}},{"term":{"tag":"elasticsearch"}}]}}}}}
1
+ {"query":{"match_all":{}},"filter":{"bool":{"must":{"term":{"user":"kimchy"}},"must_not":{"range":{"age":{"from":10,"to":20}}},"should":[{"term":{"tag":"wow"}},{"term":{"tag":"elasticsearch"}}]}}}
@@ -1,27 +1,22 @@
1
1
  {
2
- :query =>
3
- {
4
- :filtered => {
5
- :query => {:match_all => {}},
6
- :filter => {
7
- :bool => {
8
- :must => {
9
- :term => { "user" => "kimchy"}
10
- },
11
- :must_not => {
12
- :range => {
13
- :age => {
14
- :from => 10,
15
- :to => 20
16
- }
17
- }
18
- },
19
- :should => [
20
- { :term => { "tag" => "wow" } },
21
- { :term => { "tag" => "elasticsearch" } }
22
- ]
2
+ :query => {:match_all => {}},
3
+ :filter => {
4
+ :bool => {
5
+ :must => {
6
+ :term => { "user" => "kimchy"}
7
+ },
8
+ :must_not => {
9
+ :range => {
10
+ :age => {
11
+ :from => 10,
12
+ :to => 20
13
+ }
23
14
  }
24
- }
15
+ },
16
+ :should => [
17
+ { :term => { "tag" => "wow" } },
18
+ { :term => { "tag" => "elasticsearch" } }
19
+ ]
25
20
  }
26
21
  }
27
22
  }
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"geo_bounding_box":{"location":{"top_left":{"lat":40.73,"lon":-74.1},"bottom_right":{"lat":40.717,"lon":-73.99}}}}}}}
1
+ {"query":{"match_all":{}},"filter":{"geo_bounding_box":{"location":{"top_left":{"lat":40.73,"lon":-74.1},"bottom_right":{"lat":40.717,"lon":-73.99}}}}}
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"geo_distance":{"distance":"200km","location":{"lat":40,"lon":-70}}}}}}
1
+ {"query":{"match_all":{}},"filter":{"geo_distance":{"distance":"200km","location":{"lat":40,"lon":-70}}}}
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"geo_distance_range":{"from":"200km","to":"400km","location":{"lat":40,"lon":-70}}}}}}
1
+ {"query":{"match_all":{}},"filter":{"geo_distance_range":{"from":"200km","to":"400km","location":{"lat":40,"lon":-70}}}}
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"geo_polygon":{"location":{"points":[{"lat":40,"lon":-70},{"lat":30,"lon":-80},{"lat":20,"lon":-90}]}}}}}}
1
+ {"query":{"match_all":{}},"filter":{"geo_polygon":{"location":{"points":[{"lat":40,"lon":-70},{"lat":30,"lon":-80},{"lat":20,"lon":-90}]}}}}
@@ -1,14 +1,10 @@
1
- {
2
- :query => {
3
- :filtered => {
4
- :query => {:match_all => { }},
5
- :filter => {
6
- :has_child => {
7
- :type => :blog_tag,
8
- :query => {
9
- :term => { :tag => "something" }
10
- }
11
- }
1
+ {
2
+ :query => {:match_all => { }},
3
+ :filter => {
4
+ :has_child => {
5
+ :type => :blog_tag,
6
+ :query => {
7
+ :term => { :tag => "something" }
12
8
  }
13
9
  }
14
10
  }
@@ -1,14 +1,10 @@
1
- {:query =>
2
- {
3
- :filtered => {
4
- :query => {
5
- :match_all => { }
6
- },
7
- :filter => {
8
- :ids => {
9
- :type => "user", :values => [1,2,3,4,5,6,7]
10
- }
11
- }
1
+ {
2
+ :query => {
3
+ :match_all => { }
4
+ },
5
+ :filter => {
6
+ :ids => {
7
+ :type => "user", :values => [1,2,3,4,5,6,7]
12
8
  }
13
9
  }
14
10
  }
@@ -1,15 +1,11 @@
1
1
  {
2
2
  :query => {
3
- :filtered => {
4
- :query => {
5
- :term => {:tag => "something"}
6
- },
3
+ :term => {:tag => "something"}
4
+ },
5
+ :filter => {
6
+ :not => {
7
7
  :filter => {
8
- "not" => {
9
- :filter => {
10
- :term => { "name.first" => "Florian"}
11
- }
12
- }
8
+ :term => { "name.first" => "Florian"}
13
9
  }
14
10
  }
15
11
  }
@@ -1,15 +1,11 @@
1
1
  {
2
2
  :query => {
3
- :filtered => {
4
- :query => {
5
- :term => {:tag => "something"}
6
- },
7
- :filter => {
8
- :or => [
9
- { :term => { "name.first" => "Felix" } },
10
- { :term => { "name.first" => "Florian"} }
11
- ]
12
- }
13
- }
3
+ :term => {:tag => "something"}
4
+ },
5
+ :filter => {
6
+ :or => [
7
+ { :term => { "name.first" => "Felix" } },
8
+ { :term => { "name.first" => "Florian"} }
9
+ ]
14
10
  }
15
11
  }
@@ -1,15 +1,10 @@
1
1
  {
2
- :query =>
3
- {
4
- :filtered => {
5
- :query => {:match_all => {}},
6
- :filter => {
7
- :range => {
8
- :age => {
9
- :from => 10,
10
- :to => 20
11
- }
12
- }
2
+ :query => {:match_all => {}},
3
+ :filter => {
4
+ :range => {
5
+ :age => {
6
+ :from => 10,
7
+ :to => 20
13
8
  }
14
9
  }
15
10
  }
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"type":{"value":"my_type"}}}}}
1
+ {"query":{"match_all":{}},"filter":{"type":{"value":"my_type"}}}
@@ -1 +1 @@
1
- {:query => {:filtered => {:query => {:match_all => {}}, :filter => {:type => {:value => :my_type}}}}}
1
+ {:query => {:match_all => {}}, :filter => {:type => {:value => :my_type}}}
@@ -75,7 +75,7 @@ context "Filter" do
75
75
  end
76
76
 
77
77
  context "#and filter" do
78
- query_name "test/search/queries/and_filter"
78
+ query_name "test/search/filters/and"
79
79
 
80
80
  setup do
81
81
  example("filters/and")
@@ -83,7 +83,7 @@ context "Filter" do
83
83
  end
84
84
 
85
85
  context "#and filter using default" do
86
- query_name "test/search/queries/and_filter"
86
+ query_name "test/search/filters/and"
87
87
 
88
88
  setup do
89
89
  example("filters/and_without_keyword")
@@ -0,0 +1,10 @@
1
+ {
2
+ "query": {
3
+ "custom_boost_factor" : {
4
+ "boost_factor" : 5,
5
+ "query" : {
6
+ "term": {"tag": "wow"}
7
+ }
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "query":
3
+ {
4
+ "custom_filters_score" : {
5
+ "query" : {
6
+ "match_all" : {}
7
+ },
8
+ "filters" : [
9
+ {
10
+ "filter" : { "range" : { "age" : {"from" : 0, "to" : 10} } },
11
+ "boost" : 3
12
+ },
13
+ {
14
+ "filter" : { "range" : { "age" : {"from" : 10, "to" : 20} } },
15
+ "boost" : 2
16
+ }
17
+ ],
18
+ "score_mode" : "first"
19
+ }
20
+ }
21
+ }
@@ -0,0 +1 @@
1
+ {:query => {:filtered => {:query => {:match_all => {}}, :filter => {:prefix => {"name.second" => "ba"}}}}}
@@ -1 +1 @@
1
- {"query":{"filtered":{"query":{"match_all":{}},"filter":{"range":{"age":{"from":10,"to":20}}}}},"facets":{"hist1":{"histogram":{"field":"age","interval":2}}}}
1
+ {"query": {"match_all":{}},"filter":{"range":{"age":{"from":10,"to":20}}},"facets":{"hist1":{"histogram":{"field":"age","interval":2}}}}
@@ -0,0 +1,13 @@
1
+ {
2
+ "query": {
3
+ "indices" : {
4
+ "indices" : ["index1", "index2"],
5
+ "query" : {
6
+ "term" : { "tag" : "wow" }
7
+ },
8
+ "no_match_query" : {
9
+ "term" : { "tag" : "kow" }
10
+ }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1 @@
1
+ {"query":{"match":{"message":{"type":"phrase_prefix","query":"this is a text"}}}}
@@ -0,0 +1,8 @@
1
+ {
2
+ "query": {
3
+ "multi_match" : {
4
+ "query" : "this is a test",
5
+ "fields" : [ "subject", "message" ]
6
+ }
7
+ }
8
+ }
@@ -37,19 +37,21 @@ context "Queries" do
37
37
  end
38
38
  end
39
39
 
40
- context "#prefix" do
41
- query_name "test/search/queries/prefix"
40
+ unless ElasticSearch::Node.version > "0.19.4"
41
+ context "#prefix" do
42
+ query_name "test/search/queries/prefix"
42
43
 
43
- setup do
44
- example("queries/prefix")
44
+ setup do
45
+ example("queries/prefix")
46
+ end
45
47
  end
46
- end
47
48
 
48
- context "#prefix short style" do
49
- query_name "test/search/queries/prefix_short"
49
+ context "#prefix short style" do
50
+ query_name "test/search/queries/prefix_short"
50
51
 
51
- setup do
52
- example("queries/prefix_short")
52
+ setup do
53
+ example("queries/prefix_short")
54
+ end
53
55
  end
54
56
  end
55
57
 
@@ -101,11 +103,23 @@ context "Queries" do
101
103
  end
102
104
  end
103
105
 
104
- context "#text query" do
105
- query_name "test/search/queries/text"
106
+ if ElasticSearch::Node.version < "0.20.0"
107
+ context "#text query" do
108
+ query_name "test/search/queries/text"
106
109
 
107
- setup do
108
- example("queries/text")
110
+ setup do
111
+ example("queries/text")
112
+ end
113
+ end
114
+ end
115
+
116
+ if ElasticSearch::Node.version > "0.19.8"
117
+ context "#match query" do
118
+ query_name "test/search/queries/match"
119
+
120
+ setup do
121
+ example("queries/match")
122
+ end
109
123
  end
110
124
  end
111
125
 
@@ -117,7 +131,6 @@ context "Queries" do
117
131
  end
118
132
  end
119
133
 
120
-
121
134
  context "#boosting query" do
122
135
  query_name "test/search/queries/boosting"
123
136
 
@@ -253,7 +266,7 @@ context "Queries" do
253
266
  end
254
267
  end
255
268
 
256
- context "query with filter and facets" do
269
+ context "with filter and facets" do
257
270
  query_name "test/search/queries/filters_and_facets"
258
271
 
259
272
  setup do
@@ -308,4 +321,46 @@ context "Queries" do
308
321
  example("queries/span_term")
309
322
  end
310
323
  end
324
+
325
+ if ElasticSearch::Node.version > "0.19.0"
326
+ context "multi_match query" do
327
+ query_name "test/search/queries/multi_match"
328
+
329
+ setup do
330
+ example("queries/multi_match")
331
+ end
332
+ end
333
+
334
+ context "indices query" do
335
+ query_name "test/search/queries/indices"
336
+
337
+ setup do
338
+ example("queries/indices")
339
+ end
340
+ end
341
+
342
+ context "custom_boost_factor query" do
343
+ query_name "test/search/queries/custom_boost_factor"
344
+
345
+ setup do
346
+ example("queries/custom_boost_factor")
347
+ end
348
+ end
349
+
350
+ context "custom_filters_score query" do
351
+ query_name "test/search/queries/custom_filters_score"
352
+
353
+ setup do
354
+ example("queries/custom_filters_score")
355
+ end
356
+ end
357
+
358
+ context "filtered query" do
359
+ query_name "test/search/queries/filtered"
360
+
361
+ setup do
362
+ example("queries/filtered")
363
+ end
364
+ end
365
+ end
311
366
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eson-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-10 00:00:00.000000000 Z
12
+ date: 2013-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: elasticsearch-node
@@ -35,9 +35,9 @@ extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
37
  - LICENSE.md
38
+ - MethodReference.md
38
39
  - README.md
39
40
  - Rakefile
40
- - TODO.md
41
41
  - eson-dsl.gemspec
42
42
  - examples/facets/date_histogram.rb
43
43
  - examples/facets/filter.rb
@@ -71,9 +71,13 @@ files:
71
71
  - examples/queries/boosting.rb
72
72
  - examples/queries/constant_score.rb
73
73
  - examples/queries/constant_score_with_filter.rb
74
+ - examples/queries/custom_boost_factor.rb
75
+ - examples/queries/custom_filters_score.rb
76
+ - examples/queries/custom_filters_score_with_script.rb
74
77
  - examples/queries/custom_score.rb
75
78
  - examples/queries/dis_max.rb
76
79
  - examples/queries/field.rb
80
+ - examples/queries/filtered.rb
77
81
  - examples/queries/filters_and_facets.rb
78
82
  - examples/queries/flt.rb
79
83
  - examples/queries/flt_field.rb
@@ -82,9 +86,12 @@ files:
82
86
  - examples/queries/has_child.rb
83
87
  - examples/queries/has_child_complex.rb
84
88
  - examples/queries/ids.rb
89
+ - examples/queries/indices.rb
90
+ - examples/queries/match.rb
85
91
  - examples/queries/match_all.rb
86
92
  - examples/queries/mlt.rb
87
93
  - examples/queries/mlt_field.rb
94
+ - examples/queries/multi_match.rb
88
95
  - examples/queries/nested.rb
89
96
  - examples/queries/prefix.rb
90
97
  - examples/queries/prefix_short.rb
@@ -104,6 +111,7 @@ files:
104
111
  - examples/queries/top_children.rb
105
112
  - examples/queries/wildcard.rb
106
113
  - examples/queries/wildcard_short.rb
114
+ - lib/compat.rb
107
115
  - lib/eson-dsl.rb
108
116
  - lib/eson/modules/query_plugin.rb
109
117
  - lib/eson/search/and.rb
@@ -111,6 +119,8 @@ files:
111
119
  - lib/eson/search/bool.rb
112
120
  - lib/eson/search/boosting.rb
113
121
  - lib/eson/search/constant_score.rb
122
+ - lib/eson/search/custom_boost_factor.rb
123
+ - lib/eson/search/custom_filters_score.rb
114
124
  - lib/eson/search/custom_score.rb
115
125
  - lib/eson/search/date_histogram.rb
116
126
  - lib/eson/search/dis_max.rb
@@ -121,6 +131,7 @@ files:
121
131
  - lib/eson/search/field_based.rb
122
132
  - lib/eson/search/filter.rb
123
133
  - lib/eson/search/filter_facet.rb
134
+ - lib/eson/search/filtered.rb
124
135
  - lib/eson/search/filters.rb
125
136
  - lib/eson/search/fquery.rb
126
137
  - lib/eson/search/fuzzy.rb
@@ -133,10 +144,13 @@ files:
133
144
  - lib/eson/search/has_child.rb
134
145
  - lib/eson/search/histogram.rb
135
146
  - lib/eson/search/ids.rb
147
+ - lib/eson/search/indices.rb
148
+ - lib/eson/search/match.rb
136
149
  - lib/eson/search/match_all.rb
137
150
  - lib/eson/search/missing.rb
138
151
  - lib/eson/search/more_like_this.rb
139
152
  - lib/eson/search/more_like_this_field.rb
153
+ - lib/eson/search/multi_match.rb
140
154
  - lib/eson/search/nested.rb
141
155
  - lib/eson/search/node.rb
142
156
  - lib/eson/search/not.rb
@@ -227,10 +241,13 @@ files:
227
241
  - test/search/queries/boosting.rb
228
242
  - test/search/queries/constant_score.rb
229
243
  - test/search/queries/constant_score_filter.rb
244
+ - test/search/queries/custom_boost_factor.json
245
+ - test/search/queries/custom_filters_score.json
230
246
  - test/search/queries/custom_score.documents
231
247
  - test/search/queries/custom_score.rb
232
248
  - test/search/queries/dis_max.rb
233
249
  - test/search/queries/field.rb
250
+ - test/search/queries/filtered.rb
234
251
  - test/search/queries/filters_and_facets.documents
235
252
  - test/search/queries/filters_and_facets.json
236
253
  - test/search/queries/flt.rb
@@ -244,10 +261,13 @@ files:
244
261
  - test/search/queries/has_child_complex.blog_tag.mapping
245
262
  - test/search/queries/has_child_complex.rb
246
263
  - test/search/queries/ids.rb
264
+ - test/search/queries/indices.json
265
+ - test/search/queries/match.json
247
266
  - test/search/queries/match_all.rb
248
267
  - test/search/queries/mlt.json
249
268
  - test/search/queries/mlt.rb
250
269
  - test/search/queries/mlt_field.rb
270
+ - test/search/queries/multi_match.json
251
271
  - test/search/queries/nested.json
252
272
  - test/search/queries/nested.mapping
253
273
  - test/search/queries/phrase_prefix.rb
@@ -285,18 +305,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
285
305
  - - ! '>='
286
306
  - !ruby/object:Gem::Version
287
307
  version: '0'
288
- segments:
289
- - 0
290
- hash: 4021414716358552886
291
308
  required_rubygems_version: !ruby/object:Gem::Requirement
292
309
  none: false
293
310
  requirements:
294
311
  - - ! '>='
295
312
  - !ruby/object:Gem::Version
296
313
  version: '0'
297
- segments:
298
- - 0
299
- hash: 4021414716358552886
300
314
  requirements: []
301
315
  rubyforge_project:
302
316
  rubygems_version: 1.8.21
@@ -365,10 +379,13 @@ test_files:
365
379
  - test/search/queries/boosting.rb
366
380
  - test/search/queries/constant_score.rb
367
381
  - test/search/queries/constant_score_filter.rb
382
+ - test/search/queries/custom_boost_factor.json
383
+ - test/search/queries/custom_filters_score.json
368
384
  - test/search/queries/custom_score.documents
369
385
  - test/search/queries/custom_score.rb
370
386
  - test/search/queries/dis_max.rb
371
387
  - test/search/queries/field.rb
388
+ - test/search/queries/filtered.rb
372
389
  - test/search/queries/filters_and_facets.documents
373
390
  - test/search/queries/filters_and_facets.json
374
391
  - test/search/queries/flt.rb
@@ -382,10 +399,13 @@ test_files:
382
399
  - test/search/queries/has_child_complex.blog_tag.mapping
383
400
  - test/search/queries/has_child_complex.rb
384
401
  - test/search/queries/ids.rb
402
+ - test/search/queries/indices.json
403
+ - test/search/queries/match.json
385
404
  - test/search/queries/match_all.rb
386
405
  - test/search/queries/mlt.json
387
406
  - test/search/queries/mlt.rb
388
407
  - test/search/queries/mlt_field.rb
408
+ - test/search/queries/multi_match.json
389
409
  - test/search/queries/nested.json
390
410
  - test/search/queries/nested.mapping
391
411
  - test/search/queries/phrase_prefix.rb