elasticsearch-dsl 0.1.6 → 0.1.10

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 (383) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +30 -8
  3. data/LICENSE.txt +199 -10
  4. data/README.md +62 -27
  5. data/Rakefile +29 -17
  6. data/elasticsearch-dsl.gemspec +40 -22
  7. data/lib/elasticsearch/dsl/search/aggregation.rb +21 -2
  8. data/lib/elasticsearch/dsl/search/aggregations/avg.rb +18 -1
  9. data/lib/elasticsearch/dsl/search/aggregations/cardinality.rb +18 -1
  10. data/lib/elasticsearch/dsl/search/aggregations/children.rb +18 -1
  11. data/lib/elasticsearch/dsl/search/aggregations/composite.rb +60 -0
  12. data/lib/elasticsearch/dsl/search/aggregations/date_histogram.rb +23 -5
  13. data/lib/elasticsearch/dsl/search/aggregations/date_range.rb +18 -1
  14. data/lib/elasticsearch/dsl/search/aggregations/extended_stats.rb +18 -1
  15. data/lib/elasticsearch/dsl/search/aggregations/filter.rb +18 -1
  16. data/lib/elasticsearch/dsl/search/aggregations/filters.rb +18 -1
  17. data/lib/elasticsearch/dsl/search/aggregations/geo_bounds.rb +18 -1
  18. data/lib/elasticsearch/dsl/search/aggregations/geo_distance.rb +18 -1
  19. data/lib/elasticsearch/dsl/search/aggregations/geohash_grid.rb +18 -1
  20. data/lib/elasticsearch/dsl/search/aggregations/global.rb +17 -0
  21. data/lib/elasticsearch/dsl/search/aggregations/histogram.rb +18 -1
  22. data/lib/elasticsearch/dsl/search/aggregations/ip_range.rb +18 -1
  23. data/lib/elasticsearch/dsl/search/aggregations/max.rb +18 -1
  24. data/lib/elasticsearch/dsl/search/aggregations/min.rb +18 -1
  25. data/lib/elasticsearch/dsl/search/aggregations/missing.rb +17 -0
  26. data/lib/elasticsearch/dsl/search/aggregations/nested.rb +18 -1
  27. data/lib/elasticsearch/dsl/search/aggregations/percentile_ranks.rb +18 -1
  28. data/lib/elasticsearch/dsl/search/aggregations/percentiles.rb +18 -1
  29. data/lib/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket.rb +17 -0
  30. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_script.rb +17 -0
  31. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector.rb +17 -0
  32. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort.rb +106 -0
  33. data/lib/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +17 -0
  34. data/lib/elasticsearch/dsl/search/aggregations/pipeline/derivative.rb +17 -0
  35. data/lib/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +17 -0
  36. data/lib/elasticsearch/dsl/search/aggregations/pipeline/max_bucket.rb +17 -0
  37. data/lib/elasticsearch/dsl/search/aggregations/pipeline/min_bucket.rb +17 -0
  38. data/lib/elasticsearch/dsl/search/aggregations/pipeline/moving_avg.rb +17 -0
  39. data/lib/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +17 -0
  40. data/lib/elasticsearch/dsl/search/aggregations/pipeline/serial_diff.rb +17 -0
  41. data/lib/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket.rb +17 -0
  42. data/lib/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket.rb +17 -0
  43. data/lib/elasticsearch/dsl/search/aggregations/range.rb +18 -1
  44. data/lib/elasticsearch/dsl/search/aggregations/reverse_nested.rb +18 -1
  45. data/lib/elasticsearch/dsl/search/aggregations/scripted_metric.rb +18 -1
  46. data/lib/elasticsearch/dsl/search/aggregations/significant_terms.rb +18 -1
  47. data/lib/elasticsearch/dsl/search/aggregations/significant_text.rb +62 -0
  48. data/lib/elasticsearch/dsl/search/aggregations/stats.rb +17 -0
  49. data/lib/elasticsearch/dsl/search/aggregations/sum.rb +18 -1
  50. data/lib/elasticsearch/dsl/search/aggregations/terms.rb +17 -0
  51. data/lib/elasticsearch/dsl/search/aggregations/top_hits.rb +18 -1
  52. data/lib/elasticsearch/dsl/search/aggregations/value_count.rb +18 -1
  53. data/lib/elasticsearch/dsl/search/base_aggregation_component.rb +20 -1
  54. data/lib/elasticsearch/dsl/search/base_component.rb +30 -1
  55. data/lib/elasticsearch/dsl/search/base_compound_filter_component.rb +20 -1
  56. data/lib/elasticsearch/dsl/search/collapse.rb +95 -0
  57. data/lib/elasticsearch/dsl/search/filter.rb +21 -2
  58. data/lib/elasticsearch/dsl/search/filters/and.rb +18 -1
  59. data/lib/elasticsearch/dsl/search/filters/bool.rb +23 -4
  60. data/lib/elasticsearch/dsl/search/filters/exists.rb +18 -1
  61. data/lib/elasticsearch/dsl/search/filters/geo_bounding_box.rb +18 -1
  62. data/lib/elasticsearch/dsl/search/filters/geo_distance.rb +18 -1
  63. data/lib/elasticsearch/dsl/search/filters/geo_distance_range.rb +18 -1
  64. data/lib/elasticsearch/dsl/search/filters/geo_polygon.rb +18 -1
  65. data/lib/elasticsearch/dsl/search/filters/geo_shape.rb +18 -1
  66. data/lib/elasticsearch/dsl/search/filters/geohash_cell.rb +18 -1
  67. data/lib/elasticsearch/dsl/search/filters/has_child.rb +18 -1
  68. data/lib/elasticsearch/dsl/search/filters/has_parent.rb +18 -1
  69. data/lib/elasticsearch/dsl/search/filters/ids.rb +18 -1
  70. data/lib/elasticsearch/dsl/search/filters/indices.rb +19 -2
  71. data/lib/elasticsearch/dsl/search/filters/limit.rb +18 -1
  72. data/lib/elasticsearch/dsl/search/filters/match_all.rb +18 -1
  73. data/lib/elasticsearch/dsl/search/filters/missing.rb +18 -1
  74. data/lib/elasticsearch/dsl/search/filters/nested.rb +27 -1
  75. data/lib/elasticsearch/dsl/search/filters/not.rb +21 -2
  76. data/lib/elasticsearch/dsl/search/filters/or.rb +18 -1
  77. data/lib/elasticsearch/dsl/search/filters/prefix.rb +18 -1
  78. data/lib/elasticsearch/dsl/search/filters/query.rb +18 -1
  79. data/lib/elasticsearch/dsl/search/filters/range.rb +18 -1
  80. data/lib/elasticsearch/dsl/search/filters/regexp.rb +18 -1
  81. data/lib/elasticsearch/dsl/search/filters/script.rb +18 -1
  82. data/lib/elasticsearch/dsl/search/filters/term.rb +18 -1
  83. data/lib/elasticsearch/dsl/search/filters/terms.rb +18 -1
  84. data/lib/elasticsearch/dsl/search/filters/type.rb +18 -1
  85. data/lib/elasticsearch/dsl/search/highlight.rb +18 -1
  86. data/lib/elasticsearch/dsl/search/options.rb +20 -2
  87. data/lib/elasticsearch/dsl/search/queries/bool.rb +24 -7
  88. data/lib/elasticsearch/dsl/search/queries/boosting.rb +18 -1
  89. data/lib/elasticsearch/dsl/search/queries/common.rb +18 -1
  90. data/lib/elasticsearch/dsl/search/queries/constant_score.rb +18 -1
  91. data/lib/elasticsearch/dsl/search/queries/dis_max.rb +18 -1
  92. data/lib/elasticsearch/dsl/search/queries/exists.rb +17 -0
  93. data/lib/elasticsearch/dsl/search/queries/filtered.rb +18 -1
  94. data/lib/elasticsearch/dsl/search/queries/function_score.rb +19 -1
  95. data/lib/elasticsearch/dsl/search/queries/fuzzy.rb +18 -1
  96. data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this.rb +18 -1
  97. data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this_field.rb +18 -1
  98. data/lib/elasticsearch/dsl/search/queries/geo_shape.rb +18 -1
  99. data/lib/elasticsearch/dsl/search/queries/has_child.rb +18 -1
  100. data/lib/elasticsearch/dsl/search/queries/has_parent.rb +18 -1
  101. data/lib/elasticsearch/dsl/search/queries/ids.rb +18 -1
  102. data/lib/elasticsearch/dsl/search/queries/indices.rb +18 -1
  103. data/lib/elasticsearch/dsl/search/queries/inner_hits.rb +133 -0
  104. data/lib/elasticsearch/dsl/search/queries/match.rb +18 -1
  105. data/lib/elasticsearch/dsl/search/queries/match_all.rb +18 -1
  106. data/lib/elasticsearch/dsl/search/queries/match_phrase.rb +17 -0
  107. data/lib/elasticsearch/dsl/search/queries/match_phrase_prefix.rb +17 -0
  108. data/lib/elasticsearch/dsl/search/queries/more_like_this.rb +18 -1
  109. data/lib/elasticsearch/dsl/search/queries/multi_match.rb +18 -1
  110. data/lib/elasticsearch/dsl/search/queries/nested.rb +18 -1
  111. data/lib/elasticsearch/dsl/search/queries/prefix.rb +18 -1
  112. data/lib/elasticsearch/dsl/search/queries/query_string.rb +20 -4
  113. data/lib/elasticsearch/dsl/search/queries/range.rb +18 -1
  114. data/lib/elasticsearch/dsl/search/queries/regexp.rb +18 -1
  115. data/lib/elasticsearch/dsl/search/queries/simple_query_string.rb +18 -1
  116. data/lib/elasticsearch/dsl/search/queries/span_first.rb +18 -1
  117. data/lib/elasticsearch/dsl/search/queries/span_multi.rb +18 -1
  118. data/lib/elasticsearch/dsl/search/queries/span_near.rb +18 -1
  119. data/lib/elasticsearch/dsl/search/queries/span_not.rb +18 -1
  120. data/lib/elasticsearch/dsl/search/queries/span_or.rb +18 -1
  121. data/lib/elasticsearch/dsl/search/queries/span_term.rb +18 -1
  122. data/lib/elasticsearch/dsl/search/queries/template.rb +18 -1
  123. data/lib/elasticsearch/dsl/search/queries/term.rb +18 -1
  124. data/lib/elasticsearch/dsl/search/queries/terms.rb +18 -1
  125. data/lib/elasticsearch/dsl/search/queries/top_children.rb +18 -1
  126. data/lib/elasticsearch/dsl/search/queries/wildcard.rb +18 -1
  127. data/lib/elasticsearch/dsl/search/query.rb +21 -2
  128. data/lib/elasticsearch/dsl/search/sort.rb +18 -1
  129. data/lib/elasticsearch/dsl/search/suggest.rb +18 -1
  130. data/lib/elasticsearch/dsl/search.rb +46 -4
  131. data/lib/elasticsearch/dsl/utils.rb +17 -0
  132. data/lib/elasticsearch/dsl/version.rb +18 -1
  133. data/lib/elasticsearch/dsl.rb +19 -1
  134. data/lib/elasticsearch-dsl.rb +17 -0
  135. data/spec/elasticsearch/dsl/search/aggregations/avg_spec.rb +43 -0
  136. data/spec/elasticsearch/dsl/search/aggregations/cardinality_spec.rb +110 -0
  137. data/spec/elasticsearch/dsl/search/aggregations/children_spec.rb +66 -0
  138. data/spec/elasticsearch/dsl/search/aggregations/composite_spec.rb +99 -0
  139. data/spec/elasticsearch/dsl/search/aggregations/date_histogram_spec.rb +182 -0
  140. data/spec/elasticsearch/dsl/search/aggregations/date_range_spec.rb +89 -0
  141. data/spec/elasticsearch/dsl/search/aggregations/extended_stats_spec.rb +43 -0
  142. data/spec/elasticsearch/dsl/search/aggregations/filter_spec.rb +48 -0
  143. data/spec/elasticsearch/dsl/search/aggregations/filters_spec.rb +89 -0
  144. data/spec/elasticsearch/dsl/search/aggregations/geo_bounds_spec.rb +77 -0
  145. data/spec/elasticsearch/dsl/search/aggregations/geo_distance_spec.rb +113 -0
  146. data/spec/elasticsearch/dsl/search/aggregations/geo_grid_spec.rb +100 -0
  147. data/spec/elasticsearch/dsl/search/aggregations/global_spec.rb +62 -0
  148. data/spec/elasticsearch/dsl/search/aggregations/historgram_spec.rb +122 -0
  149. data/spec/elasticsearch/dsl/search/aggregations/ip_range_spec.rb +93 -0
  150. data/spec/elasticsearch/dsl/search/aggregations/max_spec.rb +43 -0
  151. data/spec/elasticsearch/dsl/search/aggregations/min_spec.rb +43 -0
  152. data/spec/elasticsearch/dsl/search/aggregations/missing_spec.rb +81 -0
  153. data/spec/elasticsearch/dsl/search/aggregations/nested_spec.rb +86 -0
  154. data/spec/elasticsearch/dsl/search/aggregations/percentile_ranks_spec.rb +126 -0
  155. data/spec/elasticsearch/dsl/search/aggregations/percentiles_spec.rb +125 -0
  156. data/spec/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket_spec.rb +88 -0
  157. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_script_spec.rb +99 -0
  158. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector_spec.rb +88 -0
  159. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort_spec.rb +104 -0
  160. data/spec/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum_spec.rb +77 -0
  161. data/spec/elasticsearch/dsl/search/aggregations/pipeline/derivative_spec.rb +88 -0
  162. data/spec/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket_spec.rb +88 -0
  163. data/spec/elasticsearch/dsl/search/aggregations/pipeline/max_bucket_spec.rb +88 -0
  164. data/spec/elasticsearch/dsl/search/aggregations/pipeline/min_bucket_spec.rb +88 -0
  165. data/spec/elasticsearch/dsl/search/aggregations/pipeline/moving_avg_test_spec.rb +132 -0
  166. data/spec/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket_spec.rb +99 -0
  167. data/spec/elasticsearch/dsl/search/aggregations/pipeline/serial_diff_spec.rb +99 -0
  168. data/spec/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket_spec.rb +88 -0
  169. data/spec/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket_spec.rb +88 -0
  170. data/spec/elasticsearch/dsl/search/aggregations/range_spec.rb +119 -0
  171. data/spec/elasticsearch/dsl/search/aggregations/reverse_nested_spec.rb +32 -0
  172. data/spec/elasticsearch/dsl/search/aggregations/scripted_metric_spec.rb +121 -0
  173. data/spec/elasticsearch/dsl/search/aggregations/significant_terms_spec.rb +176 -0
  174. data/spec/elasticsearch/dsl/search/aggregations/significant_text_spec.rb +176 -0
  175. data/spec/elasticsearch/dsl/search/aggregations/stats_spec.rb +56 -0
  176. data/spec/elasticsearch/dsl/search/aggregations/sum_spec.rb +43 -0
  177. data/spec/elasticsearch/dsl/search/aggregations/terms_spec.rb +165 -0
  178. data/spec/elasticsearch/dsl/search/aggregations/top_hits_spec.rb +88 -0
  179. data/spec/elasticsearch/dsl/search/aggregations/value_count_spec.rb +43 -0
  180. data/spec/elasticsearch/dsl/search/collapse_spec.rb +93 -0
  181. data/spec/elasticsearch/dsl/search/filters/and_spec.rb +74 -0
  182. data/spec/elasticsearch/dsl/search/filters/bool_spec.rb +213 -0
  183. data/spec/elasticsearch/dsl/search/filters/exists_spec.rb +66 -0
  184. data/spec/elasticsearch/dsl/search/filters/geo_bounding_box_spec.rb +144 -0
  185. data/spec/elasticsearch/dsl/search/filters/geo_distance_range_spec.rb +103 -0
  186. data/spec/elasticsearch/dsl/search/filters/geo_distance_spec.rb +126 -0
  187. data/spec/elasticsearch/dsl/search/filters/geo_polygon_spec.rb +66 -0
  188. data/spec/elasticsearch/dsl/search/filters/geo_shape_spec.rb +77 -0
  189. data/spec/elasticsearch/dsl/search/filters/geohash_cell_spec.rb +99 -0
  190. data/spec/elasticsearch/dsl/search/filters/has_child_spec.rb +139 -0
  191. data/spec/elasticsearch/dsl/search/filters/has_parent_spec.rb +128 -0
  192. data/spec/elasticsearch/dsl/search/filters/ids_spec.rb +78 -0
  193. data/spec/elasticsearch/dsl/search/filters/indices_spec.rb +109 -0
  194. data/spec/elasticsearch/dsl/search/filters/limit_spec.rb +66 -0
  195. data/spec/elasticsearch/dsl/search/filters/match_all_spec.rb +32 -0
  196. data/spec/elasticsearch/dsl/search/filters/missing_spec.rb +66 -0
  197. data/spec/elasticsearch/dsl/search/filters/nested_spec.rb +91 -0
  198. data/spec/elasticsearch/dsl/search/filters/not_spec.rb +59 -0
  199. data/spec/elasticsearch/dsl/search/filters/or_spec.rb +75 -0
  200. data/spec/elasticsearch/dsl/search/filters/prefix_spec.rb +46 -0
  201. data/spec/elasticsearch/dsl/search/filters/query_spec.rb +59 -0
  202. data/spec/elasticsearch/dsl/search/filters/range_spec.rb +111 -0
  203. data/spec/elasticsearch/dsl/search/filters/regexp_spec.rb +88 -0
  204. data/spec/elasticsearch/dsl/search/filters/script_spec.rb +77 -0
  205. data/spec/elasticsearch/dsl/search/filters/term_spec.rb +57 -0
  206. data/spec/elasticsearch/dsl/search/filters/terms_spec.rb +46 -0
  207. data/spec/elasticsearch/dsl/search/filters/type_spec.rb +66 -0
  208. data/spec/elasticsearch/dsl/search/queries/bool_spec.rb +267 -0
  209. data/spec/elasticsearch/dsl/search/queries/boosting_spec.rb +90 -0
  210. data/spec/elasticsearch/dsl/search/queries/common_spec.rb +132 -0
  211. data/spec/elasticsearch/dsl/search/queries/constant_score_spec.rb +90 -0
  212. data/spec/elasticsearch/dsl/search/queries/dis_max_spec.rb +88 -0
  213. data/spec/elasticsearch/dsl/search/queries/exists_spec.rb +66 -0
  214. data/spec/elasticsearch/dsl/search/queries/filtered_spec.rb +93 -0
  215. data/spec/elasticsearch/dsl/search/queries/function_score_spec.rb +175 -0
  216. data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_field_spec.rb +132 -0
  217. data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_spec.rb +134 -0
  218. data/spec/elasticsearch/dsl/search/queries/fuzzy_spec.rb +110 -0
  219. data/spec/elasticsearch/dsl/search/queries/geo_shape_spec.rb +77 -0
  220. data/spec/elasticsearch/dsl/search/queries/has_child_spec.rb +126 -0
  221. data/spec/elasticsearch/dsl/search/queries/has_parent_spec.rb +100 -0
  222. data/spec/elasticsearch/dsl/search/queries/ids_spec.rb +78 -0
  223. data/spec/elasticsearch/dsl/search/queries/indices_spec.rb +89 -0
  224. data/spec/elasticsearch/dsl/search/queries/inner_hits_spec.rb +144 -0
  225. data/spec/elasticsearch/dsl/search/queries/match_all_spec.rb +66 -0
  226. data/spec/elasticsearch/dsl/search/queries/match_phrase_prefix_spec.rb +103 -0
  227. data/spec/elasticsearch/dsl/search/queries/match_phrase_spec.rb +114 -0
  228. data/spec/elasticsearch/dsl/search/queries/match_spec.rb +107 -0
  229. data/spec/elasticsearch/dsl/search/queries/more_like_this_spec.rb +87 -0
  230. data/spec/elasticsearch/dsl/search/queries/multi_match_spec.rb +74 -0
  231. data/spec/elasticsearch/dsl/search/queries/nested_spec.rb +98 -0
  232. data/spec/elasticsearch/dsl/search/queries/prefix_spec.rb +70 -0
  233. data/spec/elasticsearch/dsl/search/queries/query_string_spec.rb +85 -0
  234. data/spec/elasticsearch/dsl/search/queries/range_spec.rb +78 -0
  235. data/spec/elasticsearch/dsl/search/queries/regexp_spec.rb +82 -0
  236. data/spec/elasticsearch/dsl/search/queries/simple_query_string_spec.rb +74 -0
  237. data/spec/elasticsearch/dsl/search/queries/span_first_spec.rb +69 -0
  238. data/spec/elasticsearch/dsl/search/queries/span_multi_spec.rb +69 -0
  239. data/spec/elasticsearch/dsl/search/queries/span_near_spec.rb +72 -0
  240. data/spec/elasticsearch/dsl/search/queries/span_not_spec.rb +73 -0
  241. data/spec/elasticsearch/dsl/search/queries/span_or_spec.rb +69 -0
  242. data/spec/elasticsearch/dsl/search/queries/span_term_spec.rb +46 -0
  243. data/spec/elasticsearch/dsl/search/queries/template_spec.rb +84 -0
  244. data/spec/elasticsearch/dsl/search/queries/term_spec.rb +57 -0
  245. data/spec/elasticsearch/dsl/search/queries/terms_spec.rb +46 -0
  246. data/spec/elasticsearch/dsl/search/queries/top_children_spec.rb +93 -0
  247. data/spec/elasticsearch/dsl/search/queries/wildcard_spec.rb +81 -0
  248. data/spec/elasticsearch/dsl/search_spec.rb +385 -0
  249. data/spec/spec_helper.rb +24 -0
  250. data/test/integration/search_aggregation_children_test.rb +44 -37
  251. data/test/integration/search_aggregation_geo_test.rb +27 -16
  252. data/test/integration/search_aggregation_nested_test.rb +32 -20
  253. data/test/integration/search_aggregations_test.rb +28 -13
  254. data/test/integration/search_filters_test.rb +33 -22
  255. data/test/integration/search_options_test.rb +20 -3
  256. data/test/integration/search_query_test.rb +24 -11
  257. data/test/integration/search_size_from_test.rb +22 -5
  258. data/test/integration/search_sort_test.rb +20 -7
  259. data/test/integration/search_suggest_test.rb +30 -19
  260. data/test/integration/search_test.rb +21 -8
  261. data/test/test_helper.rb +30 -23
  262. data/test/unit/dsl_test.rb +17 -0
  263. data/test/unit/search_aggregation_test.rb +17 -0
  264. data/test/unit/search_base_aggregation_component_test.rb +17 -0
  265. data/test/unit/search_base_component_test.rb +17 -0
  266. data/test/unit/search_filter_test.rb +17 -0
  267. data/test/unit/search_highlight_test.rb +17 -0
  268. data/test/unit/search_options_test.rb +25 -0
  269. data/test/unit/search_query_test.rb +17 -0
  270. data/test/unit/search_size_from_test.rb +17 -0
  271. data/test/unit/search_sort_test.rb +17 -0
  272. data/test/unit/search_suggest_test.rb +17 -0
  273. data/test/unit/search_test.rb +24 -0
  274. data/test/unit/utils_test.rb +17 -0
  275. metadata +278 -270
  276. data/test/unit/aggregations/avg_test.rb +0 -24
  277. data/test/unit/aggregations/cardinality_test.rb +0 -40
  278. data/test/unit/aggregations/children_test.rb +0 -36
  279. data/test/unit/aggregations/date_histogram_test.rb +0 -49
  280. data/test/unit/aggregations/date_range_test.rb +0 -42
  281. data/test/unit/aggregations/extended_stats_test.rb +0 -24
  282. data/test/unit/aggregations/filter_test.rb +0 -31
  283. data/test/unit/aggregations/filters_test.rb +0 -52
  284. data/test/unit/aggregations/geo_bounds_test.rb +0 -37
  285. data/test/unit/aggregations/geo_distance_test.rb +0 -45
  286. data/test/unit/aggregations/geohash_grid_test.rb +0 -40
  287. data/test/unit/aggregations/global_test.rb +0 -38
  288. data/test/unit/aggregations/histogram_test.rb +0 -42
  289. data/test/unit/aggregations/ip_range_test.rb +0 -41
  290. data/test/unit/aggregations/max_test.rb +0 -24
  291. data/test/unit/aggregations/min_test.rb +0 -24
  292. data/test/unit/aggregations/missing_test.rb +0 -39
  293. data/test/unit/aggregations/nested_test.rb +0 -48
  294. data/test/unit/aggregations/percentile_ranks_test.rb +0 -41
  295. data/test/unit/aggregations/percentiles_test.rb +0 -40
  296. data/test/unit/aggregations/pipeline/avg_bucket_test.rb +0 -39
  297. data/test/unit/aggregations/pipeline/bucket_script_test.rb +0 -39
  298. data/test/unit/aggregations/pipeline/bucket_selector_test.rb +0 -38
  299. data/test/unit/aggregations/pipeline/cumulative_sum_test.rb +0 -37
  300. data/test/unit/aggregations/pipeline/derivative_test.rb +0 -39
  301. data/test/unit/aggregations/pipeline/extended_stats_bucket_test.rb +0 -38
  302. data/test/unit/aggregations/pipeline/max_bucket_test.rb +0 -38
  303. data/test/unit/aggregations/pipeline/min_bucket_test.rb +0 -38
  304. data/test/unit/aggregations/pipeline/moving_avg_test.rb +0 -41
  305. data/test/unit/aggregations/pipeline/percentiles_bucket_test.rb +0 -39
  306. data/test/unit/aggregations/pipeline/serial_diff_test.rb +0 -39
  307. data/test/unit/aggregations/pipeline/stats_bucket_test.rb +0 -38
  308. data/test/unit/aggregations/pipeline/sum_bucket_test.rb +0 -38
  309. data/test/unit/aggregations/range_test.rb +0 -59
  310. data/test/unit/aggregations/reverse_nested_test.rb +0 -20
  311. data/test/unit/aggregations/scripted_metric_test.rb +0 -41
  312. data/test/unit/aggregations/significant_terms_test.rb +0 -46
  313. data/test/unit/aggregations/stats_test.rb +0 -32
  314. data/test/unit/aggregations/sum_test.rb +0 -24
  315. data/test/unit/aggregations/terms_test.rb +0 -51
  316. data/test/unit/aggregations/top_hits_test.rb +0 -38
  317. data/test/unit/aggregations/value_count_test.rb +0 -24
  318. data/test/unit/filters/and_test.rb +0 -69
  319. data/test/unit/filters/bool_test.rb +0 -98
  320. data/test/unit/filters/exists_test.rb +0 -36
  321. data/test/unit/filters/geo_bounding_box_test.rb +0 -45
  322. data/test/unit/filters/geo_distance_range_test.rb +0 -51
  323. data/test/unit/filters/geo_distance_test.rb +0 -58
  324. data/test/unit/filters/geo_polygon_test.rb +0 -36
  325. data/test/unit/filters/geo_shape_test.rb +0 -37
  326. data/test/unit/filters/geohash_cell_test.rb +0 -43
  327. data/test/unit/filters/has_child_test.rb +0 -54
  328. data/test/unit/filters/has_parent_test.rb +0 -54
  329. data/test/unit/filters/ids_test.rb +0 -38
  330. data/test/unit/filters/indices_test.rb +0 -52
  331. data/test/unit/filters/limit_test.rb +0 -36
  332. data/test/unit/filters/match_all_test.rb +0 -20
  333. data/test/unit/filters/missing_test.rb +0 -38
  334. data/test/unit/filters/nested_test.rb +0 -40
  335. data/test/unit/filters/not_test.rb +0 -35
  336. data/test/unit/filters/or_test.rb +0 -53
  337. data/test/unit/filters/prefix_test.rb +0 -25
  338. data/test/unit/filters/query_test.rb +0 -33
  339. data/test/unit/filters/range_test.rb +0 -48
  340. data/test/unit/filters/regexp_test.rb +0 -42
  341. data/test/unit/filters/script_test.rb +0 -38
  342. data/test/unit/filters/term_test.rb +0 -27
  343. data/test/unit/filters/terms_test.rb +0 -24
  344. data/test/unit/filters/type_test.rb +0 -36
  345. data/test/unit/queries/bool_test.rb +0 -147
  346. data/test/unit/queries/boosting_test.rb +0 -41
  347. data/test/unit/queries/common_test.rb +0 -42
  348. data/test/unit/queries/constant_score_test.rb +0 -47
  349. data/test/unit/queries/dis_max_test.rb +0 -38
  350. data/test/unit/queries/exists_test.rb +0 -36
  351. data/test/unit/queries/filtered_test.rb +0 -51
  352. data/test/unit/queries/function_score_test.rb +0 -70
  353. data/test/unit/queries/fuzzy_like_this_field_test.rb +0 -42
  354. data/test/unit/queries/fuzzy_like_this_test.rb +0 -44
  355. data/test/unit/queries/fuzzy_test.rb +0 -40
  356. data/test/unit/queries/geo_shape_test.rb +0 -37
  357. data/test/unit/queries/has_child_test.rb +0 -55
  358. data/test/unit/queries/has_parent_test.rb +0 -41
  359. data/test/unit/queries/ids_test.rb +0 -38
  360. data/test/unit/queries/indices_test.rb +0 -39
  361. data/test/unit/queries/match_all_test.rb +0 -36
  362. data/test/unit/queries/match_phrase_prefix_test.rb +0 -62
  363. data/test/unit/queries/match_phrase_test.rb +0 -63
  364. data/test/unit/queries/match_test.rb +0 -65
  365. data/test/unit/queries/more_like_this_test.rb +0 -53
  366. data/test/unit/queries/multi_match_test.rb +0 -42
  367. data/test/unit/queries/nested_test.rb +0 -52
  368. data/test/unit/queries/prefix_test.rb +0 -37
  369. data/test/unit/queries/query_string_test.rb +0 -56
  370. data/test/unit/queries/range_test.rb +0 -41
  371. data/test/unit/queries/regexp_test.rb +0 -43
  372. data/test/unit/queries/simple_query_string_test.rb +0 -41
  373. data/test/unit/queries/span_first_test.rb +0 -36
  374. data/test/unit/queries/span_multi_test.rb +0 -36
  375. data/test/unit/queries/span_near_test.rb +0 -39
  376. data/test/unit/queries/span_not_test.rb +0 -40
  377. data/test/unit/queries/span_or_test.rb +0 -36
  378. data/test/unit/queries/span_term_test.rb +0 -24
  379. data/test/unit/queries/template_test.rb +0 -43
  380. data/test/unit/queries/term_test.rb +0 -27
  381. data/test/unit/queries/terms_test.rb +0 -24
  382. data/test/unit/queries/top_children_test.rb +0 -53
  383. data/test/unit/queries/wildcard_test.rb +0 -43
@@ -1,70 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class FunctionScoreTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "FunctionScore query" do
10
- subject { FunctionScore.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ function_score: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = FunctionScore.new
18
-
19
- subject.query 'bar'
20
- subject.filter 'bar'
21
- subject.functions ['bar']
22
- subject.script_score 'bar'
23
- subject.boost 'bar'
24
- subject.max_boost 'bar'
25
- subject.score_mode 'bar'
26
- subject.boost_mode 'bar'
27
-
28
- assert_equal %w[ boost boost_mode filter functions max_boost query score_mode script_score ],
29
- subject.to_hash[:function_score].keys.map(&:to_s).sort
30
- assert_equal 'bar', subject.to_hash[:function_score][:query]
31
- end
32
-
33
- should "take a block" do
34
- subject = FunctionScore.new do
35
- query 'bar'
36
- end
37
- assert_equal 'bar', subject.to_hash[:function_score][:query]
38
- end
39
-
40
- should "evaluate a block passed to the option method" do
41
- subject = FunctionScore.new do
42
- query do
43
- match foo: 'BLAM'
44
- end
45
- filter do
46
- term bar: 'slam'
47
- end
48
- functions << { foo: { abc: '123' } }
49
- functions << { foo: { xyz: '456' } }
50
- end
51
-
52
- assert_equal({
53
- function_score: {
54
- query: { match: { foo: 'BLAM' } },
55
- filter: { term: { bar: 'slam' } },
56
- functions: [ { foo: { abc: '123' } }, { foo: { xyz: '456' } } ] } },
57
- subject.to_hash)
58
- end
59
-
60
- should "set the functions directly" do
61
- subject = FunctionScore.new
62
- subject.functions = [ {foo: { abc: '123' }} ]
63
-
64
- assert_equal({function_score: { functions: [ {foo: { abc: '123' }} ] }}, subject.to_hash)
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class FuzzyLikeThisFieldTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "FuzzyLikeThisField query" do
10
- subject { FuzzyLikeThisField.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ fuzzy_like_this_field: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = FuzzyLikeThisField.new :foo
18
-
19
- subject.like_text 'bar'
20
- subject.fuzziness 'bar'
21
- subject.analyzer 'bar'
22
- subject.max_query_terms 'bar'
23
- subject.prefix_length 'bar'
24
- subject.boost 'bar'
25
- subject.ignore_tf 'bar'
26
-
27
- assert_equal %w[ analyzer boost fuzziness ignore_tf like_text max_query_terms prefix_length ],
28
- subject.to_hash[:fuzzy_like_this_field][:foo].keys.map(&:to_s).sort
29
- assert_equal 'bar', subject.to_hash[:fuzzy_like_this_field][:foo][:like_text]
30
- end
31
-
32
- should "take a block" do
33
- subject = FuzzyLikeThisField.new :foo do
34
- like_text 'bar'
35
- end
36
- assert_equal 'bar', subject.to_hash[:fuzzy_like_this_field][:foo][:like_text]
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,44 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class FuzzyLikeThisTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "FuzzyLikeThis query" do
10
- subject { FuzzyLikeThis.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ fuzzy_like_this: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = FuzzyLikeThis.new
18
-
19
- subject.fields 'bar'
20
- subject.like_text 'bar'
21
- subject.fuzziness 'bar'
22
- subject.analyzer 'bar'
23
- subject.max_query_terms 'bar'
24
- subject.prefix_length 'bar'
25
- subject.boost 'bar'
26
-
27
- assert_equal %w[ analyzer boost fields fuzziness like_text max_query_terms prefix_length ],
28
- subject.to_hash[:fuzzy_like_this].keys.map(&:to_s).sort
29
- assert_equal 'bar', subject.to_hash[:fuzzy_like_this][:fields]
30
- end
31
-
32
- should "take a block" do
33
- subject = FuzzyLikeThis.new do
34
- fields ['foo']
35
- like_text 'bar'
36
- end
37
-
38
- assert_equal({ fuzzy_like_this: { fields: ['foo'], like_text: 'bar' } }, subject.to_hash)
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class FuzzyTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Fuzzy query" do
10
- subject { Fuzzy.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ fuzzy: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Fuzzy.new :foo
18
-
19
- subject.value 'bar'
20
- subject.boost 'bar'
21
- subject.fuzziness 'bar'
22
- subject.prefix_length 'bar'
23
- subject.max_expansions 'bar'
24
-
25
- assert_equal %w[ boost fuzziness max_expansions prefix_length value ],
26
- subject.to_hash[:fuzzy][:foo].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:fuzzy][:foo][:value]
28
- end
29
-
30
- should "take a block" do
31
- subject = Fuzzy.new :foo do
32
- value 'bar'
33
- end
34
- assert_equal({fuzzy: { foo: { value: 'bar' } }}, subject.to_hash)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class GeoShapeTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "GeoShape query" do
10
- subject { GeoShape.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geo_shape: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeoShape.new :foo
18
-
19
- subject.shape 'bar'
20
- subject.indexed_shape 'bar'
21
-
22
- assert_equal %w[ indexed_shape shape ],
23
- subject.to_hash[:geo_shape][:foo].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:geo_shape][:foo][:shape]
25
- end
26
-
27
- should "take a block" do
28
- subject = GeoShape.new :foo do
29
- shape 'bar'
30
- end
31
- assert_equal({geo_shape: { foo: { shape: 'bar' } }}, subject.to_hash)
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,55 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class HasChildTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "HasChild query" do
10
- subject { HasChild.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ has_child: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = HasChild.new
18
-
19
- subject.type 'bar'
20
- subject.query 'bar'
21
- subject.score_mode 'bar'
22
- subject.min_children 'bar'
23
- subject.max_children 'bar'
24
- subject.inner_hits({ size: 1 })
25
-
26
- assert_equal %w[ inner_hits max_children min_children query score_mode type ],
27
- subject.to_hash[:has_child].keys.map(&:to_s).sort
28
- assert_equal 'bar', subject.to_hash[:has_child][:type]
29
- assert_equal({ size: 1 }, subject.to_hash[:has_child][:inner_hits])
30
- end
31
-
32
- should "take a block" do
33
- subject = HasChild.new do
34
- type 'bar'
35
- query match: { foo: 'bar' }
36
- end
37
- assert_equal({ has_child: { type: 'bar', query: { match: { foo: 'bar' } } } }, subject.to_hash)
38
- end
39
-
40
- should "take a block for option method" do
41
- subject = HasChild.new do
42
- type 'bar'
43
- query do
44
- match :foo do
45
- query 'bar'
46
- end
47
- end
48
- end
49
- assert_equal({ has_child: { type: 'bar', query: { match: { foo: { query: 'bar'} } } } }, subject.to_hash)
50
- end
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class HasParentTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "HasParent query" do
10
- subject { HasParent.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ has_parent: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = HasParent.new
18
-
19
- subject.parent_type 'bar'
20
- subject.query 'bar'
21
- subject.score_mode 'bar'
22
- subject.inner_hits({ size: 1 })
23
-
24
- assert_equal %w[ inner_hits parent_type query score_mode ],
25
- subject.to_hash[:has_parent].keys.map(&:to_s).sort
26
- assert_equal 'bar', subject.to_hash[:has_parent][:parent_type]
27
- assert_equal({ size: 1 }, subject.to_hash[:has_parent][:inner_hits])
28
- end
29
-
30
- should "take a block" do
31
- subject = HasParent.new do
32
- parent_type 'bar'
33
- query match: { foo: 'bar' }
34
- end
35
- assert_equal({ has_parent: { parent_type: 'bar', query: { match: { foo: 'bar' } } } }, subject.to_hash)
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class IdsTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Ids query" do
10
- subject { Ids.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ ids: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Ids.new
18
-
19
- subject.type 'bar'
20
- subject.values 'bar'
21
-
22
- assert_equal %w[ type values ],
23
- subject.to_hash[:ids].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:ids][:type]
25
- end
26
-
27
- should "take a block" do
28
- subject = Ids.new do
29
- type 'bar'
30
- values [1, 2, 3]
31
- end
32
- assert_equal({ids: { type: 'bar', values: [1, 2, 3] } }, subject.to_hash)
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,39 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class IndicesTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Indices query" do
10
- subject { Indices.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ indices: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Indices.new
18
-
19
- subject.indices 'bar'
20
- subject.query 'bar'
21
- subject.no_match_query 'bar'
22
-
23
- assert_equal %w[ indices no_match_query query ],
24
- subject.to_hash[:indices].keys.map(&:to_s).sort
25
- assert_equal 'bar', subject.to_hash[:indices][:indices]
26
- end
27
-
28
- should "take a block" do
29
- subject = Indices.new do
30
- indices 'bar'
31
- query term: { foo: 'bar' }
32
- end
33
- assert_equal({indices: { indices: 'bar', query: { term: { foo: 'bar' } } } }, subject.to_hash)
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MatchAllTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "MatchAll query" do
10
- subject { MatchAll.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ match_all: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = MatchAll.new
18
-
19
- subject.boost 'bar'
20
-
21
- assert_equal %w[ boost ],
22
- subject.to_hash[:match_all].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:match_all][:boost]
24
- end
25
-
26
- should "take a block" do
27
- subject = MatchAll.new do
28
- boost 'bar'
29
- end
30
- assert_equal({match_all: { boost: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,62 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MatchPhrasePrefixTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Match Phrase Prefix Query" do
10
- subject { MatchPhrasePrefix.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ match_phrase_prefix: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a concrete value" do
17
- subject = MatchPhrasePrefix.new message: 'test'
18
-
19
- assert_equal({match_phrase_prefix: {message: "test"}}, subject.to_hash)
20
- end
21
-
22
- should "have option methods" do
23
- subject = MatchPhrasePrefix.new
24
-
25
- subject.query 'bar'
26
- subject.boost 10
27
- subject.max_expansions 1
28
-
29
- assert_equal %w[ boost max_expansions query ],
30
- subject.to_hash[:match_phrase_prefix].keys.map(&:to_s).sort
31
- assert_equal 'bar', subject.to_hash[:match_phrase_prefix][:query]
32
- end
33
-
34
- should "take a Hash" do
35
- subject = MatchPhrasePrefix.new message: { query: 'test' }
36
-
37
- assert_equal({match_phrase_prefix: {message: {query: "test" }}}, subject.to_hash)
38
- end
39
-
40
- should "take a block" do
41
- subject = MatchPhrasePrefix.new :message do
42
- query 'test'
43
- boost 2
44
- max_expansions 1
45
- end
46
-
47
- assert_equal({match_phrase_prefix: {message: {query: "test", max_expansions: 1, boost: 2 }}},
48
- subject.to_hash)
49
- end
50
-
51
- should "take a method call" do
52
- subject = MatchPhrasePrefix.new :message
53
- subject.query 'test'
54
-
55
- assert_equal({match_phrase_prefix: {message: {query: "test" }}}, subject.to_hash)
56
- end
57
-
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,63 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MatchPhraseTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Match Phrase Query" do
10
- subject { MatchPhrase.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ match_phrase: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a concrete value" do
17
- subject = MatchPhrase.new message: 'test'
18
-
19
- assert_equal({match_phrase: {message: "test"}}, subject.to_hash)
20
- end
21
-
22
- should "have option methods" do
23
- subject = MatchPhrase.new
24
-
25
- subject.query 'bar'
26
- subject.analyzer 'standard'
27
- subject.boost 10
28
- subject.slop 1
29
-
30
- assert_equal %w[ analyzer boost query slop ],
31
- subject.to_hash[:match_phrase].keys.map(&:to_s).sort
32
- assert_equal 'bar', subject.to_hash[:match_phrase][:query]
33
- end
34
-
35
- should "take a Hash" do
36
- subject = MatchPhrase.new message: { query: 'test' }
37
-
38
- assert_equal({match_phrase: {message: {query: "test" }}}, subject.to_hash)
39
- end
40
-
41
- should "take a block" do
42
- subject = MatchPhrase.new :message do
43
- query 'test'
44
- slop 1
45
- boost 2
46
- end
47
-
48
- assert_equal({match_phrase: {message: {query: "test", slop: 1, boost: 2 }}},
49
- subject.to_hash)
50
- end
51
-
52
- should "take a method call" do
53
- subject = MatchPhrase.new :message
54
- subject.query 'test'
55
-
56
- assert_equal({match_phrase: {message: {query: "test" }}}, subject.to_hash)
57
- end
58
-
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,65 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MatchTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Match Query" do
10
- subject { Match.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ match: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a concrete value" do
17
- subject = Match.new message: 'test'
18
-
19
- assert_equal({match: {message: "test"}}, subject.to_hash)
20
- end
21
-
22
- should "have option methods" do
23
- subject = Match.new
24
-
25
- subject.query 'bar'
26
- subject.operator 'bar'
27
- subject.type 'bar'
28
-
29
- assert_equal %w[ operator query type ],
30
- subject.to_hash[:match].keys.map(&:to_s).sort
31
- assert_equal 'bar', subject.to_hash[:match][:query]
32
- end
33
-
34
- should "take a Hash" do
35
- subject = Match.new message: { query: 'test', operator: 'and' }
36
-
37
- assert_equal({match: {message: {query: "test", operator: "and"}}}, subject.to_hash)
38
- end
39
-
40
- should "take a block" do
41
- subject = Match.new :message do
42
- query 'test'
43
- operator 'and'
44
- type 'phrase_prefix'
45
- boost 2
46
- fuzziness 'AUTO'
47
- end
48
-
49
- assert_equal({match: {message: {query: "test", operator: "and", type: 'phrase_prefix', boost: 2, fuzziness: 'AUTO'}}},
50
- subject.to_hash)
51
- end
52
-
53
- should "take a method call" do
54
- subject = Match.new :message
55
- subject.query 'test'
56
- subject.operator 'and'
57
-
58
- assert_equal({match: {message: {query: "test", operator: "and"}}}, subject.to_hash)
59
- end
60
-
61
- end
62
- end
63
- end
64
- end
65
- end