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,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -8,17 +25,15 @@ module Elasticsearch
8
25
  context "Aggregations integration" do
9
26
  setup do
10
27
  @client.indices.create index: 'test', body: {
11
- mappings: {
12
- d: {
13
- properties: {
14
- tags: { type: 'keyword' }
15
- }
28
+ mappings: {
29
+ properties: {
30
+ tags: {type: 'keyword'}
31
+ }
16
32
  }
17
- }
18
33
  }
19
- @client.index index: 'test', type: 'd', id: '1', body: { title: 'A', tags: %w[one], clicks: 5 }
20
- @client.index index: 'test', type: 'd', id: '2', body: { title: 'B', tags: %w[one two], clicks: 15 }
21
- @client.index index: 'test', type: 'd', id: '3', body: { title: 'C', tags: %w[one three], clicks: 20 }
34
+ @client.index index: 'test', id: '1', body: { title: 'A', tags: %w[one], clicks: 5 }
35
+ @client.index index: 'test', id: '2', body: { title: 'B', tags: %w[one two], clicks: 15 }
36
+ @client.index index: 'test', id: '3', body: { title: 'C', tags: %w[one three], clicks: 20 }
22
37
  @client.indices.refresh index: 'test'
23
38
  end
24
39
 
@@ -186,10 +201,10 @@ module Elasticsearch
186
201
  response = @client.search index: 'test', body: search {
187
202
  aggregation :clicks_for_one do
188
203
  scripted_metric do
189
- init_script "params._agg.transactions = []"
190
- map_script "if (doc['tags'].value.contains('one')) { params._agg.transactions.add(doc['clicks'].value) }"
191
- combine_script "double sum = 0; for (t in params._agg.transactions) { sum += t } return sum"
192
- reduce_script "double sum = 0; for (a in params._aggs) { sum += a } return sum"
204
+ init_script "state.transactions = []"
205
+ map_script "if (doc['tags'].value.contains('one')) { state.transactions.add(doc['clicks'].value) }"
206
+ combine_script "double sum = 0; for (t in state.transactions) { sum += t } return sum"
207
+ reduce_script "double sum = 0; for (a in states) { sum += a } return sum"
193
208
  end
194
209
  end
195
210
  }.to_hash
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  # encoding: UTF-8
2
19
 
3
20
  require 'test_helper'
@@ -8,55 +25,51 @@ module Elasticsearch
8
25
  include Elasticsearch::DSL::Search
9
26
 
10
27
  context "Filters integration" do
11
- startup do
12
- Elasticsearch::Extensions::Test::Cluster.start(number_of_nodes: 1) if ENV['SERVER'] and not Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
13
- end
14
-
15
28
  setup do
16
29
  @client.indices.create index: 'test'
17
- @client.index index: 'test', type: 'd', id: 1,
30
+ @client.index index: 'test', id: 1,
18
31
  body: { name: 'Original',
19
32
  color: 'red',
20
33
  size: 'xxl',
21
34
  category: 'unisex',
22
35
  manufacturer: 'a' }
23
36
 
24
- @client.index index: 'test', type: 'd', id: 2,
37
+ @client.index index: 'test', id: 2,
25
38
  body: { name: 'Original',
26
39
  color: 'red',
27
40
  size: 'xl',
28
41
  category: 'unisex',
29
42
  manufacturer: 'a' }
30
43
 
31
- @client.index index: 'test', type: 'd', id: 3,
44
+ @client.index index: 'test', id: 3,
32
45
  body: { name: 'Original',
33
46
  color: 'red',
34
47
  size: 'l',
35
48
  category: 'unisex',
36
49
  manufacturer: 'a' }
37
50
 
38
- @client.index index: 'test', type: 'd', id: 4,
51
+ @client.index index: 'test', id: 4,
39
52
  body: { name: 'Western',
40
53
  color: 'red',
41
54
  size: 'm',
42
55
  category: 'men',
43
56
  manufacturer: 'c' }
44
57
 
45
- @client.index index: 'test', type: 'd', id: 5,
58
+ @client.index index: 'test', id: 5,
46
59
  body: { name: 'Modern',
47
60
  color: 'grey',
48
61
  size: 'l',
49
62
  category: 'men',
50
63
  manufacturer: 'b' }
51
64
 
52
- @client.index index: 'test', type: 'd', id: 6,
65
+ @client.index index: 'test', id: 6,
53
66
  body: { name: 'Modern',
54
67
  color: 'grey',
55
68
  size: 's',
56
69
  category: 'men',
57
70
  manufacturer: 'b' }
58
71
 
59
- @client.index index: 'test', type: 'd', id: 7,
72
+ @client.index index: 'test', id: 7,
60
73
  body: { name: 'Modern',
61
74
  color: 'grey',
62
75
  size: 's',
@@ -78,7 +91,7 @@ module Elasticsearch
78
91
  end
79
92
  }.to_hash
80
93
 
81
- assert_equal 4, response['hits']['total']
94
+ assert_equal 4, response['hits']['total']['value']
82
95
  assert response['hits']['hits'].all? { |h| h['_source']['color'] == 'red' }, response.inspect
83
96
  end
84
97
  end
@@ -95,7 +108,7 @@ module Elasticsearch
95
108
  end
96
109
  }.to_hash
97
110
 
98
- assert_equal 7, response['hits']['total']
111
+ assert_equal 7, response['hits']['total']['value']
99
112
  end
100
113
  end
101
114
 
@@ -135,21 +148,19 @@ module Elasticsearch
135
148
  context "geographical filters" do
136
149
  setup do
137
150
  @client.indices.create index: 'places', body: {
138
- mappings: {
139
- d: {
140
- properties: {
141
- location: {
142
- type: 'geo_point'
151
+ mappings: {
152
+ properties: {
153
+ location: {
154
+ type: 'geo_point'
155
+ }
143
156
  }
144
- }
145
157
  }
146
- }
147
158
  }
148
- @client.index index: 'places', type: 'd', id: 1,
159
+ @client.index index: 'places', id: 1,
149
160
  body: { name: 'Vyšehrad',
150
161
  location: '50.064399, 14.420018'}
151
162
 
152
- @client.index index: 'places', type: 'd', id: 2,
163
+ @client.index index: 'places', id: 2,
153
164
  body: { name: 'Karlštejn',
154
165
  location: '49.939518, 14.188046'}
155
166
 
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -8,8 +25,8 @@ module Elasticsearch
8
25
  context "Search options" do
9
26
  setup do
10
27
  @client.indices.create index: 'test'
11
- @client.index index: 'test', type: 'd', id: '1', body: { title: 'Test' }
12
- @client.index index: 'test', type: 'd', id: '2', body: { title: 'Rest' }
28
+ @client.index index: 'test', id: '1', body: { title: 'Test' }
29
+ @client.index index: 'test', id: '2', body: { title: 'Rest' }
13
30
  @client.indices.refresh index: 'test'
14
31
  end
15
32
 
@@ -19,7 +36,7 @@ module Elasticsearch
19
36
  explain true
20
37
  }.to_hash
21
38
 
22
- assert_equal 1, response['hits']['total']
39
+ assert_equal 1, response['hits']['total']['value']
23
40
  assert_not_nil response['hits']['hits'][0]['_explanation']
24
41
  end
25
42
  end
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -6,14 +23,10 @@ module Elasticsearch
6
23
  include Elasticsearch::DSL::Search
7
24
 
8
25
  context "Queries integration" do
9
- startup do
10
- Elasticsearch::Extensions::Test::Cluster.start(number_of_nodes: 1) if ENV['SERVER'] and not Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
11
- end
12
-
13
26
  setup do
14
27
  @client.indices.create index: 'test'
15
- @client.index index: 'test', type: 'd', id: '1', body: { title: 'Test', tags: ['one'] }
16
- @client.index index: 'test', type: 'd', id: '2', body: { title: 'Rest', tags: ['one', 'two'] }
28
+ @client.index index: 'test', id: '1', body: { title: 'Test', tags: ['one'] }
29
+ @client.index index: 'test', id: '2', body: { title: 'Rest', tags: ['one', 'two'] }
17
30
  @client.indices.refresh index: 'test'
18
31
  end
19
32
 
@@ -21,7 +34,7 @@ module Elasticsearch
21
34
  should "find the document" do
22
35
  response = @client.search index: 'test', body: search { query { match title: 'test' } }.to_hash
23
36
 
24
- assert_equal 1, response['hits']['total']
37
+ assert_equal 1, response['hits']['total']['value']
25
38
  end
26
39
  end
27
40
 
@@ -29,7 +42,7 @@ module Elasticsearch
29
42
  should "find the document" do
30
43
  response = @client.search index: 'test', body: search { query { match_phrase_prefix title: 'te' } }.to_hash
31
44
 
32
- assert_equal 1, response['hits']['total']
45
+ assert_equal 1, response['hits']['total']['value']
33
46
  end
34
47
  end
35
48
 
@@ -37,7 +50,7 @@ module Elasticsearch
37
50
  should "find the document" do
38
51
  response = @client.search index: 'test', body: search { query { query_string { query 'te*' } } }.to_hash
39
52
 
40
- assert_equal 1, response['hits']['total']
53
+ assert_equal 1, response['hits']['total']['value']
41
54
  end
42
55
  end
43
56
 
@@ -52,7 +65,7 @@ module Elasticsearch
52
65
  end
53
66
  }.to_hash
54
67
 
55
- assert_equal 2, response['hits']['total']
68
+ assert_equal 2, response['hits']['total']['value']
56
69
  assert_equal 'Test', response['hits']['hits'][0]['_source']['title']
57
70
  end
58
71
 
@@ -68,7 +81,7 @@ module Elasticsearch
68
81
  end
69
82
  }.to_hash
70
83
 
71
- assert_equal 1, response['hits']['total']
84
+ assert_equal 1, response['hits']['total']['value']
72
85
  assert_equal 'Rest', response['hits']['hits'][0]['_source']['title']
73
86
  end
74
87
  end
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -8,9 +25,9 @@ module Elasticsearch
8
25
  context "Search results pagination" do
9
26
  setup do
10
27
  @client.indices.create index: 'test', body: {
11
- mappings: { d: { properties: { title: { type: 'text', fields: { keyword: { type: 'keyword' } } } } } } }
28
+ mappings: { properties: { title: { type: 'text', fields: { keyword: { type: 'keyword' } } } } } }
12
29
 
13
- 25.times { |i| @client.index index: 'test', type: 'd', id: i, body: { title: "Test #{sprintf('%03d', i)}" } }
30
+ 25.times { |i| @client.index index: 'test', id: i, body: { title: "Test #{sprintf('%03d', i)}" } }
14
31
 
15
32
  @client.indices.refresh index: 'test'
16
33
  end
@@ -21,19 +38,19 @@ module Elasticsearch
21
38
  size 15
22
39
  }.to_hash
23
40
 
24
- assert_equal 25, response['hits']['total']
41
+ assert_equal 25, response['hits']['total']['value']
25
42
  assert_equal 15, response['hits']['hits'].size
26
43
  end
27
44
 
28
45
  should "move the offset" do
29
46
  response = @client.search index: 'test', body: search {
30
- query { match(:title) { query 'test' and type 'phrase_prefix' } }
47
+ query { match(:title) { query 'test' } }
31
48
  size 5
32
49
  from 5
33
50
  sort { by 'title.keyword' }
34
51
  }.to_hash
35
52
 
36
- assert_equal 25, response['hits']['total']
53
+ assert_equal 25, response['hits']['total']['value']
37
54
  assert_equal 5, response['hits']['hits'].size
38
55
  assert_equal 'Test 005', response['hits']['hits'][0]['_source']['title']
39
56
  assert_equal 'Test 009', response['hits']['hits'][4]['_source']['title']
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -6,15 +23,11 @@ module Elasticsearch
6
23
  include Elasticsearch::DSL::Search
7
24
 
8
25
  context "Sorting integration" do
9
- startup do
10
- Elasticsearch::Extensions::Test::Cluster.start(number_of_nodes: 1) if ENV['SERVER'] and not Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
11
- end
12
-
13
26
  setup do
14
27
  @client.indices.create index: 'test'
15
- @client.index index: 'test', type: 'd', id: '1', body: { tags: ['one'], clicks: 15 }
16
- @client.index index: 'test', type: 'd', id: '2', body: { tags: ['one', 'two'], clicks: 5 }
17
- @client.index index: 'test', type: 'd', id: '3', body: { tags: ['one', 'three'], clicks: 20 }
28
+ @client.index index: 'test', id: '1', body: { tags: ['one'], clicks: 15 }
29
+ @client.index index: 'test', id: '2', body: { tags: ['one', 'two'], clicks: 5 }
30
+ @client.index index: 'test', id: '3', body: { tags: ['one', 'three'], clicks: 20 }
18
31
  @client.indices.refresh index: 'test'
19
32
  end
20
33
 
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  # encoding: UTF-8
2
19
 
3
20
  require 'test_helper'
@@ -8,43 +25,37 @@ module Elasticsearch
8
25
  include Elasticsearch::DSL::Search
9
26
 
10
27
  context "Suggest integration" do
11
- startup do
12
- Elasticsearch::Extensions::Test::Cluster.start(number_of_nodes: 1) if ENV['SERVER'] and not Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
13
- end
14
-
15
28
  setup do
16
29
  @client.indices.create index: 'test', body: {
17
- mappings: {
18
- d: {
19
- properties: {
20
- title: { type: 'text' },
21
- suggest: {
22
- type: 'object',
23
- properties: {
24
- title: { type: 'completion' },
25
- payload: { type: 'object', enabled: false }
26
- }
30
+ mappings: {
31
+ properties: {
32
+ title: {type: 'text'},
33
+ suggest: {
34
+ type: 'object',
35
+ properties: {
36
+ title: {type: 'completion'},
37
+ payload: {type: 'object', enabled: false}
38
+ }
39
+ }
27
40
  }
28
- }
29
41
  }
30
- }
31
42
  }
32
43
 
33
- @client.index index: 'test', type: 'd', id: '1', body: {
44
+ @client.index index: 'test', id: '1', body: {
34
45
  title: 'One',
35
46
  suggest: {
36
47
  title: { input: ['one', 'uno', 'jedna'] },
37
48
  payload: { id: '1' }
38
49
  }
39
50
  }
40
- @client.index index: 'test', type: 'd', id: '2', body: {
51
+ @client.index index: 'test', id: '2', body: {
41
52
  title: 'Two',
42
53
  suggest: {
43
54
  title: { input: ['two', 'due', 'dvě'] },
44
55
  payload: { id: '2' }
45
56
  }
46
57
  }
47
- @client.index index: 'test', type: 'd', id: '3', body: {
58
+ @client.index index: 'test', id: '3', body: {
48
59
  title: 'Three',
49
60
  suggest: {
50
61
  title: { input: ['three', 'tres', 'tři'] },
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -33,15 +50,11 @@ module Elasticsearch
33
50
  end
34
51
 
35
52
  context "The Search class" do
36
- startup do
37
- Elasticsearch::Extensions::Test::Cluster.start(number_of_nodes: 1) if ENV['SERVER'] and not Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
38
- end
39
-
40
53
  setup do
41
54
  @client.indices.create index: 'test'
42
- @client.index index: 'test', type: 'd', id: '1', body: { title: 'Test', tags: ['one'] }
43
- @client.index index: 'test', type: 'd', id: '2', body: { title: 'Test', tags: ['one', 'two'] }
44
- @client.index index: 'test', type: 'd', id: '3', body: { title: 'Test', tags: ['three'] }
55
+ @client.index index: 'test', id: '1', body: { title: 'Test', tags: ['one'] }
56
+ @client.index index: 'test', id: '2', body: { title: 'Test', tags: ['one', 'two'] }
57
+ @client.index index: 'test', id: '3', body: { title: 'Test', tags: ['three'] }
45
58
  @client.indices.refresh index: 'test'
46
59
  end
47
60
 
@@ -50,7 +63,7 @@ module Elasticsearch
50
63
  s = MySearch.new('test')
51
64
  response = @client.search index: 'test', body: s.search_definition.to_hash
52
65
 
53
- assert_equal 2, response['hits']['total']
66
+ assert_equal 2, response['hits']['total']['value']
54
67
  assert_equal 'Test', response['hits']['hits'][0]['_source']['title']
55
68
  assert_same_elements ['1', '2'], response['hits']['hits'].map { |d| d['_id'] }
56
69
  end
data/test/test_helper.rb CHANGED
@@ -1,3 +1,30 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ ELASTICSEARCH_HOSTS = if hosts = ENV['TEST_ES_SERVER'] || ENV['ELASTICSEARCH_HOSTS']
19
+ hosts.split(',').map do |host|
20
+ /(http\:\/\/)?(\S+)/.match(host)[2]
21
+ end
22
+ else
23
+ ['localhost:9200']
24
+ end.freeze
25
+
26
+ TEST_HOST, TEST_PORT = ELASTICSEARCH_HOSTS.first.split(':') if ELASTICSEARCH_HOSTS
27
+
1
28
  JRUBY = defined?(JRUBY_VERSION)
2
29
 
3
30
  if ENV['COVERAGE'] || ENV['CI']
@@ -5,23 +32,17 @@ if ENV['COVERAGE'] || ENV['CI']
5
32
  SimpleCov.start { add_filter "/test|test_" }
6
33
  end
7
34
 
8
- at_exit { Elasticsearch::Test::IntegrationTestCase.__run_at_exit_hooks }
9
-
10
35
  require 'minitest/autorun'
11
36
  require 'shoulda-context'
12
37
  require 'mocha/setup'
13
38
 
14
39
  require 'minitest/reporters'
15
40
  Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
16
- # Minitest::Reporters.use! [ Minitest::Reporters::SpecReporter.new,
17
- # Minitest::Reporters::JUnitReporter.new,
18
- # Minitest::Reporters::HtmlReporter.new ]
19
41
 
20
42
  require 'elasticsearch'
21
- require 'elasticsearch/extensions/test/cluster'
22
- require 'elasticsearch/extensions/test/startup_shutdown'
23
-
24
43
  require 'elasticsearch/dsl'
44
+ require 'logger'
45
+ require 'ansi'
25
46
 
26
47
  module Elasticsearch
27
48
  module Test
@@ -42,20 +63,6 @@ module Elasticsearch
42
63
  alias_method :assert_not_nil, :refute_nil
43
64
  alias_method :assert_raise, :assert_raises
44
65
 
45
- include Elasticsearch::Extensions::Test
46
- extend StartupShutdown
47
-
48
- startup do
49
- Cluster.start(number_of_nodes: 1) if ENV['SERVER'] \
50
- && ! Elasticsearch::Extensions::Test::Cluster.running?(number_of_nodes: 1)
51
- end
52
-
53
- shutdown do
54
- Cluster.stop if ENV['SERVER'] \
55
- && started? \
56
- && Elasticsearch::Extensions::Test::Cluster.running?
57
- end
58
-
59
66
  def setup
60
67
  @port = (ENV['TEST_CLUSTER_PORT'] || 9250).to_i
61
68
 
@@ -70,7 +77,7 @@ module Elasticsearch
70
77
  ANSI.ansi(severity[0] + ' ', color, :faint) + ANSI.ansi(msg, :white, :faint) + "\n"
71
78
  end
72
79
 
73
- @client = Elasticsearch::Client.new host: "localhost:#{@port}", logger: (ENV['QUIET'] ? nil : @logger)
80
+ @client = Elasticsearch::Client.new(host: "#{TEST_HOST}:#{TEST_PORT}", logger: (ENV['QUIET'] ? nil : @logger))
74
81
  @version = @client.info['version']['number']
75
82
  end
76
83
 
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch
@@ -1,3 +1,20 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'test_helper'
2
19
 
3
20
  module Elasticsearch