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,53 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MoreLikeThisTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "MoreLikeThis query" do
10
- subject { MoreLikeThis.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ more_like_this: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = MoreLikeThis.new
18
-
19
- subject.fields 'bar'
20
- subject.like_text 'bar'
21
- subject.min_term_freq 'bar'
22
- subject.max_query_terms 'bar'
23
- subject.docs 'bar'
24
- subject.ids 'bar'
25
- subject.include 'bar'
26
- subject.exclude 'bar'
27
- subject.percent_terms_to_match 'bar'
28
- subject.stop_words 'bar'
29
- subject.min_doc_freq 'bar'
30
- subject.max_doc_freq 'bar'
31
- subject.min_word_length 'bar'
32
- subject.max_word_length 'bar'
33
- subject.boost_terms 'bar'
34
- subject.boost 'bar'
35
- subject.analyzer 'bar'
36
-
37
- assert_equal %w[ analyzer boost boost_terms docs exclude fields ids include like_text max_doc_freq max_query_terms max_word_length min_doc_freq min_term_freq min_word_length percent_terms_to_match stop_words ],
38
- subject.to_hash[:more_like_this].keys.map(&:to_s).sort
39
- assert_equal 'bar', subject.to_hash[:more_like_this][:fields]
40
- end
41
-
42
- should "take a block" do
43
- subject = MoreLikeThis.new do
44
- fields ['foo', 'bar']
45
- like_text 'abc'
46
- end
47
- assert_equal({more_like_this: { fields: ['foo','bar'], like_text: 'abc' } }, subject.to_hash)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class MultiMatchTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "MultiMatch query" do
10
- subject { MultiMatch.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ multi_match: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = MultiMatch.new
18
-
19
- subject.query 'bar'
20
- subject.fields 'bar'
21
- subject.type 'bar'
22
- subject.use_dis_max 'bar'
23
-
24
- assert_equal %w[ fields query type use_dis_max ],
25
- subject.to_hash[:multi_match].keys.map(&:to_s).sort
26
- assert_equal 'bar', subject.to_hash[:multi_match][:query]
27
- end
28
-
29
- should "take a block" do
30
- subject = MultiMatch.new do
31
- query 'bar'
32
- fields ['a', 'b']
33
- end
34
-
35
- assert_equal 'bar', subject.to_hash[:multi_match][:query]
36
- assert_equal ['a', 'b'], subject.to_hash[:multi_match][:fields]
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,52 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class NestedTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Nested query" do
10
- subject { Nested.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ nested: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Nested.new
18
-
19
- subject.path 'bar'
20
- subject.score_mode 'bar'
21
- subject.query 'bar'
22
- subject.inner_hits({ size: 1 })
23
-
24
- assert_equal %w[ inner_hits path query score_mode ],
25
- subject.to_hash[:nested].keys.map(&:to_s).sort
26
- assert_equal 'bar', subject.to_hash[:nested][:path]
27
- assert_equal({ size: 1 }, subject.to_hash[:nested][:inner_hits])
28
- end
29
-
30
- should "take the query as a Hash" do
31
- subject = Nested.new
32
- subject.path 'bar'
33
- subject.query match: { foo: 'bar' }
34
-
35
- assert_equal({nested: { path: 'bar', query: { match: { foo: 'bar' } } } }, subject.to_hash)
36
- end
37
-
38
- should "take a block" do
39
- subject = Nested.new do
40
- path 'bar'
41
- query do
42
- match foo: 'bar'
43
- end
44
- end
45
-
46
- assert_equal({nested: { path: 'bar', query: { match: { foo: 'bar' } } } }, subject.to_hash)
47
- end
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class PrefixTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Prefix query" do
10
- subject { Prefix.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ prefix: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Prefix.new :foo
18
-
19
- subject.value 'bar'
20
- subject.boost 'bar'
21
-
22
- assert_equal %w[ boost value ],
23
- subject.to_hash[:prefix][:foo].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:prefix][:foo][:value]
25
- end
26
-
27
- should "take a block" do
28
- subject = Prefix.new :foo do
29
- value 'bar'
30
- end
31
- assert_equal({prefix: { foo: { value: 'bar' } }}, subject.to_hash)
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,56 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class QueryStringTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "QueryString query" do
10
- subject { QueryString.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ query_string: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = QueryString.new :foo
18
-
19
- subject.query 'bar'
20
- subject.fields 'bar'
21
- subject.default_field 'bar'
22
- subject.default_operator 'bar'
23
- subject.analyzer 'bar'
24
- subject.allow_leading_wildcard 'bar'
25
- subject.lowercase_expanded_terms 'bar'
26
- subject.enable_position_increments 'bar'
27
- subject.fuzzy_max_expansions 'bar'
28
- subject.fuzziness 'bar'
29
- subject.fuzzy_prefix_length 'bar'
30
- subject.phrase_slop 'bar'
31
- subject.boost 'bar'
32
- subject.analyze_wildcard 'bar'
33
- subject.auto_generate_phrase_queries 'bar'
34
- subject.minimum_should_match 'bar'
35
- subject.lenient 'bar'
36
- subject.locale 'bar'
37
- subject.use_dis_max 'bar'
38
- subject.tie_breaker 'bar'
39
- subject.time_zone 'bar'
40
-
41
- assert_equal %w[ allow_leading_wildcard analyze_wildcard analyzer auto_generate_phrase_queries boost default_field default_operator enable_position_increments fields fuzziness fuzzy_max_expansions fuzzy_prefix_length lenient locale lowercase_expanded_terms minimum_should_match phrase_slop query tie_breaker time_zone use_dis_max ],
42
- subject.to_hash[:query_string][:foo].keys.map(&:to_s).sort
43
- assert_equal 'bar', subject.to_hash[:query_string][:foo][:query]
44
- end
45
-
46
- should "take a block" do
47
- subject = QueryString.new :foo do
48
- query 'foo AND bar'
49
- end
50
- assert_equal({ query_string: { foo: { query: 'foo AND bar' } } }, subject.to_hash)
51
- end
52
- end
53
- end
54
- end
55
- end
56
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class RangeTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Range Query" do
10
-
11
- should "take a Hash" do
12
- @subject = Range.new age: { gte: 10, lte: 20 }
13
-
14
- assert_equal({:range=>{:age=>{:gte=>10, :lte=>20}}}, @subject.to_hash)
15
- end
16
-
17
- should "take a block" do
18
- @subject = Range.new :age do
19
- gte 10
20
- lte 20
21
- boost 2
22
- format 'mm/dd/yyyy'
23
- end
24
-
25
- assert_equal({:range=>{:age=>{:gte=>10, :lte=>20, :boost=>2, :format=>'mm/dd/yyyy'}}}, @subject.to_hash)
26
- end
27
-
28
- should "take a method call" do
29
- @subject = Range.new :age
30
- @subject.gte 10
31
- @subject.lte 20
32
- @subject.format 'mm/dd/yyyy'
33
-
34
- assert_equal({:range=>{:age=>{:gte=>10, :lte=>20, :format=>'mm/dd/yyyy'}}}, @subject.to_hash)
35
- end
36
-
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,43 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class RegexpTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Regexp query" do
10
- subject { Regexp.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ regexp: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Regexp.new :foo
18
-
19
- subject.value 'bar'
20
- subject.boost 'bar'
21
- subject.flags 'bar'
22
-
23
- assert_equal %w[ boost flags value ],
24
- subject.to_hash[:regexp][:foo].keys.map(&:to_s).sort
25
- assert_equal 'bar', subject.to_hash[:regexp][:foo][:value]
26
- end
27
-
28
- should "take a Hash" do
29
- subject = Regexp.new foo: 'b.*r'
30
- assert_equal({regexp: { foo: 'b.*r' }}, subject.to_hash)
31
- end
32
-
33
- should "take a block" do
34
- subject = Regexp.new :foo do
35
- value 'bar'
36
- end
37
- assert_equal({regexp: { foo: { value: 'bar' } }}, subject.to_hash)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SimpleQueryStringTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SimpleQueryString query" do
10
- subject { SimpleQueryString.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ simple_query_string: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SimpleQueryString.new :foo
18
-
19
- subject.query 'bar'
20
- subject.fields 'bar'
21
- subject.default_operator 'bar'
22
- subject.analyzer 'bar'
23
- subject.flags 'bar'
24
- subject.lenient 'bar'
25
-
26
- assert_equal %w[ analyzer default_operator fields flags lenient query ],
27
- subject.to_hash[:simple_query_string][:foo].keys.map(&:to_s).sort
28
- assert_equal 'bar', subject.to_hash[:simple_query_string][:foo][:query]
29
- end
30
-
31
- should "take a block" do
32
- subject = SimpleQueryString.new :foo do
33
- query 'bar'
34
- end
35
- assert_equal({simple_query_string: { foo: { query: 'bar' } }}, subject.to_hash)
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanFirstTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanFirst query" do
10
- subject { SpanFirst.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_first: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SpanFirst.new
18
-
19
- subject.match 'bar'
20
-
21
- assert_equal %w[ match ],
22
- subject.to_hash[:span_first].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:span_first][:match]
24
- end
25
-
26
- should "take a block" do
27
- subject = SpanFirst.new do
28
- match 'bar'
29
- end
30
- assert_equal({ span_first: { match: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanMultiTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanMulti query" do
10
- subject { SpanMulti.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_multi: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SpanMulti.new
18
-
19
- subject.match 'bar'
20
-
21
- assert_equal %w[ match ],
22
- subject.to_hash[:span_multi].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:span_multi][:match]
24
- end
25
-
26
- should "take a block" do
27
- subject = SpanMulti.new do
28
- match 'bar'
29
- end
30
- assert_equal({span_multi: { match: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,39 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanNearTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanNear query" do
10
- subject { SpanNear.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_near: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SpanNear.new
18
-
19
- subject.span_near 'bar'
20
- subject.slop 'bar'
21
- subject.in_order 'bar'
22
- subject.collect_payloads 'bar'
23
-
24
- assert_equal %w[ collect_payloads in_order slop span_near ],
25
- subject.to_hash[:span_near].keys.map(&:to_s).sort
26
- assert_equal 'bar', subject.to_hash[:span_near][:span_near]
27
- end
28
-
29
- should "take a block" do
30
- subject = SpanNear.new do
31
- span_near 'bar'
32
- end
33
- assert_equal({ span_near: { span_near: 'bar' } }, subject.to_hash)
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanNotTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanNot query" do
10
- subject { SpanNot.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_not: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SpanNot.new
18
-
19
- subject.include 'bar'
20
- subject.exclude 'bar'
21
- subject.pre 'bar'
22
- subject.post 'bar'
23
- subject.dist 'bar'
24
-
25
- assert_equal %w[ dist exclude include post pre ],
26
- subject.to_hash[:span_not].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:span_not][:include]
28
- end
29
-
30
- should "take a block" do
31
- subject = SpanNot.new do
32
- include 'bar'
33
- end
34
- assert_equal({ span_not: { include: 'bar' } }, subject.to_hash)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanOrTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanOr query" do
10
- subject { SpanOr.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_or: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = SpanOr.new
18
-
19
- subject.clauses 'bar'
20
-
21
- assert_equal %w[ clauses ],
22
- subject.to_hash[:span_or].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:span_or][:clauses]
24
- end
25
-
26
- should "take a block" do
27
- subject = SpanOr.new do
28
- clauses 'bar'
29
- end
30
- assert_equal({span_or: { clauses: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class SpanTermTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "SpanTerm query" do
10
- subject { SpanTerm.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ span_term: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = SpanTerm.new foo: 'bar'
18
- assert_equal({ span_term: { foo: 'bar' } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,43 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class TemplateTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Template query" do
10
- subject { Template.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ template: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Template.new
18
-
19
- subject.query 'bar'
20
- subject.params 'bar'
21
-
22
- assert_equal %w[ params query ],
23
- subject.to_hash[:template].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:template][:query]
25
- end
26
-
27
- should "take a hash" do
28
- subject = Template.new query: 'bar', params: { foo: 'abc' }
29
- assert_equal({template: { query: 'bar', params: { foo: 'abc' } } }, subject.to_hash)
30
- end
31
-
32
- should "take a block" do
33
- subject = Template.new do
34
- query 'bar'
35
- params foo: 'abc'
36
- end
37
- assert_equal({template: { query: 'bar', params: { foo: 'abc' } } }, subject.to_hash)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class TermTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- subject { Term.new message: 'test' }
10
-
11
- context "Term Query" do
12
- should "take a concrete value" do
13
- @subject = Term.new message: 'test'
14
-
15
- assert_equal({:term=>{:message=>"test"}}, @subject.to_hash)
16
- end
17
-
18
- should "take a Hash" do
19
- @subject = Term.new message: { query: 'test', boost: 2 }
20
-
21
- assert_equal({:term=>{:message=>{:query=>"test", :boost=>2}}}, @subject.to_hash)
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Queries
6
- class TermsTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Queries
8
-
9
- context "Terms query" do
10
- subject { Terms.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ terms: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Terms.new foo: ['abc', 'xyz']
18
- assert_equal({ terms: { foo: ['abc', 'xyz'] } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end