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.
- checksums.yaml +5 -5
- data/Gemfile +30 -8
- data/LICENSE.txt +199 -10
- data/README.md +62 -27
- data/Rakefile +29 -17
- data/elasticsearch-dsl.gemspec +40 -22
- data/lib/elasticsearch/dsl/search/aggregation.rb +21 -2
- data/lib/elasticsearch/dsl/search/aggregations/avg.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/cardinality.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/children.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/composite.rb +60 -0
- data/lib/elasticsearch/dsl/search/aggregations/date_histogram.rb +23 -5
- data/lib/elasticsearch/dsl/search/aggregations/date_range.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/extended_stats.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/filter.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/filters.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/geo_bounds.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/geo_distance.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/geohash_grid.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/global.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/histogram.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/ip_range.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/max.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/min.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/missing.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/nested.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/percentile_ranks.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/percentiles.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_script.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort.rb +106 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/derivative.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/max_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/min_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/moving_avg.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/serial_diff.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/range.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/reverse_nested.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/scripted_metric.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/significant_terms.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/significant_text.rb +62 -0
- data/lib/elasticsearch/dsl/search/aggregations/stats.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/sum.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/terms.rb +17 -0
- data/lib/elasticsearch/dsl/search/aggregations/top_hits.rb +18 -1
- data/lib/elasticsearch/dsl/search/aggregations/value_count.rb +18 -1
- data/lib/elasticsearch/dsl/search/base_aggregation_component.rb +20 -1
- data/lib/elasticsearch/dsl/search/base_component.rb +30 -1
- data/lib/elasticsearch/dsl/search/base_compound_filter_component.rb +20 -1
- data/lib/elasticsearch/dsl/search/collapse.rb +95 -0
- data/lib/elasticsearch/dsl/search/filter.rb +21 -2
- data/lib/elasticsearch/dsl/search/filters/and.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/bool.rb +23 -4
- data/lib/elasticsearch/dsl/search/filters/exists.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geo_bounding_box.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geo_distance.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geo_distance_range.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geo_polygon.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geo_shape.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/geohash_cell.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/has_child.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/has_parent.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/ids.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/indices.rb +19 -2
- data/lib/elasticsearch/dsl/search/filters/limit.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/match_all.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/missing.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/nested.rb +27 -1
- data/lib/elasticsearch/dsl/search/filters/not.rb +21 -2
- data/lib/elasticsearch/dsl/search/filters/or.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/prefix.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/query.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/range.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/regexp.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/script.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/term.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/terms.rb +18 -1
- data/lib/elasticsearch/dsl/search/filters/type.rb +18 -1
- data/lib/elasticsearch/dsl/search/highlight.rb +18 -1
- data/lib/elasticsearch/dsl/search/options.rb +20 -2
- data/lib/elasticsearch/dsl/search/queries/bool.rb +24 -7
- data/lib/elasticsearch/dsl/search/queries/boosting.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/common.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/constant_score.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/dis_max.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/exists.rb +17 -0
- data/lib/elasticsearch/dsl/search/queries/filtered.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/function_score.rb +19 -1
- data/lib/elasticsearch/dsl/search/queries/fuzzy.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this_field.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/geo_shape.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/has_child.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/has_parent.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/ids.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/indices.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/inner_hits.rb +133 -0
- data/lib/elasticsearch/dsl/search/queries/match.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/match_all.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/match_phrase.rb +17 -0
- data/lib/elasticsearch/dsl/search/queries/match_phrase_prefix.rb +17 -0
- data/lib/elasticsearch/dsl/search/queries/more_like_this.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/multi_match.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/nested.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/prefix.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/query_string.rb +20 -4
- data/lib/elasticsearch/dsl/search/queries/range.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/regexp.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/simple_query_string.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_first.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_multi.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_near.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_not.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_or.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/span_term.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/template.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/term.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/terms.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/top_children.rb +18 -1
- data/lib/elasticsearch/dsl/search/queries/wildcard.rb +18 -1
- data/lib/elasticsearch/dsl/search/query.rb +21 -2
- data/lib/elasticsearch/dsl/search/sort.rb +18 -1
- data/lib/elasticsearch/dsl/search/suggest.rb +18 -1
- data/lib/elasticsearch/dsl/search.rb +46 -4
- data/lib/elasticsearch/dsl/utils.rb +17 -0
- data/lib/elasticsearch/dsl/version.rb +18 -1
- data/lib/elasticsearch/dsl.rb +19 -1
- data/lib/elasticsearch-dsl.rb +17 -0
- data/spec/elasticsearch/dsl/search/aggregations/avg_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/aggregations/cardinality_spec.rb +110 -0
- data/spec/elasticsearch/dsl/search/aggregations/children_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/aggregations/composite_spec.rb +99 -0
- data/spec/elasticsearch/dsl/search/aggregations/date_histogram_spec.rb +182 -0
- data/spec/elasticsearch/dsl/search/aggregations/date_range_spec.rb +89 -0
- data/spec/elasticsearch/dsl/search/aggregations/extended_stats_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/aggregations/filter_spec.rb +48 -0
- data/spec/elasticsearch/dsl/search/aggregations/filters_spec.rb +89 -0
- data/spec/elasticsearch/dsl/search/aggregations/geo_bounds_spec.rb +77 -0
- data/spec/elasticsearch/dsl/search/aggregations/geo_distance_spec.rb +113 -0
- data/spec/elasticsearch/dsl/search/aggregations/geo_grid_spec.rb +100 -0
- data/spec/elasticsearch/dsl/search/aggregations/global_spec.rb +62 -0
- data/spec/elasticsearch/dsl/search/aggregations/historgram_spec.rb +122 -0
- data/spec/elasticsearch/dsl/search/aggregations/ip_range_spec.rb +93 -0
- data/spec/elasticsearch/dsl/search/aggregations/max_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/aggregations/min_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/aggregations/missing_spec.rb +81 -0
- data/spec/elasticsearch/dsl/search/aggregations/nested_spec.rb +86 -0
- data/spec/elasticsearch/dsl/search/aggregations/percentile_ranks_spec.rb +126 -0
- data/spec/elasticsearch/dsl/search/aggregations/percentiles_spec.rb +125 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_script_spec.rb +99 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort_spec.rb +104 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum_spec.rb +77 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/derivative_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/max_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/min_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/moving_avg_test_spec.rb +132 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket_spec.rb +99 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/serial_diff_spec.rb +99 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/range_spec.rb +119 -0
- data/spec/elasticsearch/dsl/search/aggregations/reverse_nested_spec.rb +32 -0
- data/spec/elasticsearch/dsl/search/aggregations/scripted_metric_spec.rb +121 -0
- data/spec/elasticsearch/dsl/search/aggregations/significant_terms_spec.rb +176 -0
- data/spec/elasticsearch/dsl/search/aggregations/significant_text_spec.rb +176 -0
- data/spec/elasticsearch/dsl/search/aggregations/stats_spec.rb +56 -0
- data/spec/elasticsearch/dsl/search/aggregations/sum_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/aggregations/terms_spec.rb +165 -0
- data/spec/elasticsearch/dsl/search/aggregations/top_hits_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/aggregations/value_count_spec.rb +43 -0
- data/spec/elasticsearch/dsl/search/collapse_spec.rb +93 -0
- data/spec/elasticsearch/dsl/search/filters/and_spec.rb +74 -0
- data/spec/elasticsearch/dsl/search/filters/bool_spec.rb +213 -0
- data/spec/elasticsearch/dsl/search/filters/exists_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/filters/geo_bounding_box_spec.rb +144 -0
- data/spec/elasticsearch/dsl/search/filters/geo_distance_range_spec.rb +103 -0
- data/spec/elasticsearch/dsl/search/filters/geo_distance_spec.rb +126 -0
- data/spec/elasticsearch/dsl/search/filters/geo_polygon_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/filters/geo_shape_spec.rb +77 -0
- data/spec/elasticsearch/dsl/search/filters/geohash_cell_spec.rb +99 -0
- data/spec/elasticsearch/dsl/search/filters/has_child_spec.rb +139 -0
- data/spec/elasticsearch/dsl/search/filters/has_parent_spec.rb +128 -0
- data/spec/elasticsearch/dsl/search/filters/ids_spec.rb +78 -0
- data/spec/elasticsearch/dsl/search/filters/indices_spec.rb +109 -0
- data/spec/elasticsearch/dsl/search/filters/limit_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/filters/match_all_spec.rb +32 -0
- data/spec/elasticsearch/dsl/search/filters/missing_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/filters/nested_spec.rb +91 -0
- data/spec/elasticsearch/dsl/search/filters/not_spec.rb +59 -0
- data/spec/elasticsearch/dsl/search/filters/or_spec.rb +75 -0
- data/spec/elasticsearch/dsl/search/filters/prefix_spec.rb +46 -0
- data/spec/elasticsearch/dsl/search/filters/query_spec.rb +59 -0
- data/spec/elasticsearch/dsl/search/filters/range_spec.rb +111 -0
- data/spec/elasticsearch/dsl/search/filters/regexp_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/filters/script_spec.rb +77 -0
- data/spec/elasticsearch/dsl/search/filters/term_spec.rb +57 -0
- data/spec/elasticsearch/dsl/search/filters/terms_spec.rb +46 -0
- data/spec/elasticsearch/dsl/search/filters/type_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/queries/bool_spec.rb +267 -0
- data/spec/elasticsearch/dsl/search/queries/boosting_spec.rb +90 -0
- data/spec/elasticsearch/dsl/search/queries/common_spec.rb +132 -0
- data/spec/elasticsearch/dsl/search/queries/constant_score_spec.rb +90 -0
- data/spec/elasticsearch/dsl/search/queries/dis_max_spec.rb +88 -0
- data/spec/elasticsearch/dsl/search/queries/exists_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/queries/filtered_spec.rb +93 -0
- data/spec/elasticsearch/dsl/search/queries/function_score_spec.rb +175 -0
- data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_field_spec.rb +132 -0
- data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_spec.rb +134 -0
- data/spec/elasticsearch/dsl/search/queries/fuzzy_spec.rb +110 -0
- data/spec/elasticsearch/dsl/search/queries/geo_shape_spec.rb +77 -0
- data/spec/elasticsearch/dsl/search/queries/has_child_spec.rb +126 -0
- data/spec/elasticsearch/dsl/search/queries/has_parent_spec.rb +100 -0
- data/spec/elasticsearch/dsl/search/queries/ids_spec.rb +78 -0
- data/spec/elasticsearch/dsl/search/queries/indices_spec.rb +89 -0
- data/spec/elasticsearch/dsl/search/queries/inner_hits_spec.rb +144 -0
- data/spec/elasticsearch/dsl/search/queries/match_all_spec.rb +66 -0
- data/spec/elasticsearch/dsl/search/queries/match_phrase_prefix_spec.rb +103 -0
- data/spec/elasticsearch/dsl/search/queries/match_phrase_spec.rb +114 -0
- data/spec/elasticsearch/dsl/search/queries/match_spec.rb +107 -0
- data/spec/elasticsearch/dsl/search/queries/more_like_this_spec.rb +87 -0
- data/spec/elasticsearch/dsl/search/queries/multi_match_spec.rb +74 -0
- data/spec/elasticsearch/dsl/search/queries/nested_spec.rb +98 -0
- data/spec/elasticsearch/dsl/search/queries/prefix_spec.rb +70 -0
- data/spec/elasticsearch/dsl/search/queries/query_string_spec.rb +85 -0
- data/spec/elasticsearch/dsl/search/queries/range_spec.rb +78 -0
- data/spec/elasticsearch/dsl/search/queries/regexp_spec.rb +82 -0
- data/spec/elasticsearch/dsl/search/queries/simple_query_string_spec.rb +74 -0
- data/spec/elasticsearch/dsl/search/queries/span_first_spec.rb +69 -0
- data/spec/elasticsearch/dsl/search/queries/span_multi_spec.rb +69 -0
- data/spec/elasticsearch/dsl/search/queries/span_near_spec.rb +72 -0
- data/spec/elasticsearch/dsl/search/queries/span_not_spec.rb +73 -0
- data/spec/elasticsearch/dsl/search/queries/span_or_spec.rb +69 -0
- data/spec/elasticsearch/dsl/search/queries/span_term_spec.rb +46 -0
- data/spec/elasticsearch/dsl/search/queries/template_spec.rb +84 -0
- data/spec/elasticsearch/dsl/search/queries/term_spec.rb +57 -0
- data/spec/elasticsearch/dsl/search/queries/terms_spec.rb +46 -0
- data/spec/elasticsearch/dsl/search/queries/top_children_spec.rb +93 -0
- data/spec/elasticsearch/dsl/search/queries/wildcard_spec.rb +81 -0
- data/spec/elasticsearch/dsl/search_spec.rb +385 -0
- data/spec/spec_helper.rb +24 -0
- data/test/integration/search_aggregation_children_test.rb +44 -37
- data/test/integration/search_aggregation_geo_test.rb +27 -16
- data/test/integration/search_aggregation_nested_test.rb +32 -20
- data/test/integration/search_aggregations_test.rb +28 -13
- data/test/integration/search_filters_test.rb +33 -22
- data/test/integration/search_options_test.rb +20 -3
- data/test/integration/search_query_test.rb +24 -11
- data/test/integration/search_size_from_test.rb +22 -5
- data/test/integration/search_sort_test.rb +20 -7
- data/test/integration/search_suggest_test.rb +30 -19
- data/test/integration/search_test.rb +21 -8
- data/test/test_helper.rb +30 -23
- data/test/unit/dsl_test.rb +17 -0
- data/test/unit/search_aggregation_test.rb +17 -0
- data/test/unit/search_base_aggregation_component_test.rb +17 -0
- data/test/unit/search_base_component_test.rb +17 -0
- data/test/unit/search_filter_test.rb +17 -0
- data/test/unit/search_highlight_test.rb +17 -0
- data/test/unit/search_options_test.rb +25 -0
- data/test/unit/search_query_test.rb +17 -0
- data/test/unit/search_size_from_test.rb +17 -0
- data/test/unit/search_sort_test.rb +17 -0
- data/test/unit/search_suggest_test.rb +17 -0
- data/test/unit/search_test.rb +24 -0
- data/test/unit/utils_test.rb +17 -0
- metadata +278 -270
- data/test/unit/aggregations/avg_test.rb +0 -24
- data/test/unit/aggregations/cardinality_test.rb +0 -40
- data/test/unit/aggregations/children_test.rb +0 -36
- data/test/unit/aggregations/date_histogram_test.rb +0 -49
- data/test/unit/aggregations/date_range_test.rb +0 -42
- data/test/unit/aggregations/extended_stats_test.rb +0 -24
- data/test/unit/aggregations/filter_test.rb +0 -31
- data/test/unit/aggregations/filters_test.rb +0 -52
- data/test/unit/aggregations/geo_bounds_test.rb +0 -37
- data/test/unit/aggregations/geo_distance_test.rb +0 -45
- data/test/unit/aggregations/geohash_grid_test.rb +0 -40
- data/test/unit/aggregations/global_test.rb +0 -38
- data/test/unit/aggregations/histogram_test.rb +0 -42
- data/test/unit/aggregations/ip_range_test.rb +0 -41
- data/test/unit/aggregations/max_test.rb +0 -24
- data/test/unit/aggregations/min_test.rb +0 -24
- data/test/unit/aggregations/missing_test.rb +0 -39
- data/test/unit/aggregations/nested_test.rb +0 -48
- data/test/unit/aggregations/percentile_ranks_test.rb +0 -41
- data/test/unit/aggregations/percentiles_test.rb +0 -40
- data/test/unit/aggregations/pipeline/avg_bucket_test.rb +0 -39
- data/test/unit/aggregations/pipeline/bucket_script_test.rb +0 -39
- data/test/unit/aggregations/pipeline/bucket_selector_test.rb +0 -38
- data/test/unit/aggregations/pipeline/cumulative_sum_test.rb +0 -37
- data/test/unit/aggregations/pipeline/derivative_test.rb +0 -39
- data/test/unit/aggregations/pipeline/extended_stats_bucket_test.rb +0 -38
- data/test/unit/aggregations/pipeline/max_bucket_test.rb +0 -38
- data/test/unit/aggregations/pipeline/min_bucket_test.rb +0 -38
- data/test/unit/aggregations/pipeline/moving_avg_test.rb +0 -41
- data/test/unit/aggregations/pipeline/percentiles_bucket_test.rb +0 -39
- data/test/unit/aggregations/pipeline/serial_diff_test.rb +0 -39
- data/test/unit/aggregations/pipeline/stats_bucket_test.rb +0 -38
- data/test/unit/aggregations/pipeline/sum_bucket_test.rb +0 -38
- data/test/unit/aggregations/range_test.rb +0 -59
- data/test/unit/aggregations/reverse_nested_test.rb +0 -20
- data/test/unit/aggregations/scripted_metric_test.rb +0 -41
- data/test/unit/aggregations/significant_terms_test.rb +0 -46
- data/test/unit/aggregations/stats_test.rb +0 -32
- data/test/unit/aggregations/sum_test.rb +0 -24
- data/test/unit/aggregations/terms_test.rb +0 -51
- data/test/unit/aggregations/top_hits_test.rb +0 -38
- data/test/unit/aggregations/value_count_test.rb +0 -24
- data/test/unit/filters/and_test.rb +0 -69
- data/test/unit/filters/bool_test.rb +0 -98
- data/test/unit/filters/exists_test.rb +0 -36
- data/test/unit/filters/geo_bounding_box_test.rb +0 -45
- data/test/unit/filters/geo_distance_range_test.rb +0 -51
- data/test/unit/filters/geo_distance_test.rb +0 -58
- data/test/unit/filters/geo_polygon_test.rb +0 -36
- data/test/unit/filters/geo_shape_test.rb +0 -37
- data/test/unit/filters/geohash_cell_test.rb +0 -43
- data/test/unit/filters/has_child_test.rb +0 -54
- data/test/unit/filters/has_parent_test.rb +0 -54
- data/test/unit/filters/ids_test.rb +0 -38
- data/test/unit/filters/indices_test.rb +0 -52
- data/test/unit/filters/limit_test.rb +0 -36
- data/test/unit/filters/match_all_test.rb +0 -20
- data/test/unit/filters/missing_test.rb +0 -38
- data/test/unit/filters/nested_test.rb +0 -40
- data/test/unit/filters/not_test.rb +0 -35
- data/test/unit/filters/or_test.rb +0 -53
- data/test/unit/filters/prefix_test.rb +0 -25
- data/test/unit/filters/query_test.rb +0 -33
- data/test/unit/filters/range_test.rb +0 -48
- data/test/unit/filters/regexp_test.rb +0 -42
- data/test/unit/filters/script_test.rb +0 -38
- data/test/unit/filters/term_test.rb +0 -27
- data/test/unit/filters/terms_test.rb +0 -24
- data/test/unit/filters/type_test.rb +0 -36
- data/test/unit/queries/bool_test.rb +0 -147
- data/test/unit/queries/boosting_test.rb +0 -41
- data/test/unit/queries/common_test.rb +0 -42
- data/test/unit/queries/constant_score_test.rb +0 -47
- data/test/unit/queries/dis_max_test.rb +0 -38
- data/test/unit/queries/exists_test.rb +0 -36
- data/test/unit/queries/filtered_test.rb +0 -51
- data/test/unit/queries/function_score_test.rb +0 -70
- data/test/unit/queries/fuzzy_like_this_field_test.rb +0 -42
- data/test/unit/queries/fuzzy_like_this_test.rb +0 -44
- data/test/unit/queries/fuzzy_test.rb +0 -40
- data/test/unit/queries/geo_shape_test.rb +0 -37
- data/test/unit/queries/has_child_test.rb +0 -55
- data/test/unit/queries/has_parent_test.rb +0 -41
- data/test/unit/queries/ids_test.rb +0 -38
- data/test/unit/queries/indices_test.rb +0 -39
- data/test/unit/queries/match_all_test.rb +0 -36
- data/test/unit/queries/match_phrase_prefix_test.rb +0 -62
- data/test/unit/queries/match_phrase_test.rb +0 -63
- data/test/unit/queries/match_test.rb +0 -65
- data/test/unit/queries/more_like_this_test.rb +0 -53
- data/test/unit/queries/multi_match_test.rb +0 -42
- data/test/unit/queries/nested_test.rb +0 -52
- data/test/unit/queries/prefix_test.rb +0 -37
- data/test/unit/queries/query_string_test.rb +0 -56
- data/test/unit/queries/range_test.rb +0 -41
- data/test/unit/queries/regexp_test.rb +0 -43
- data/test/unit/queries/simple_query_string_test.rb +0 -41
- data/test/unit/queries/span_first_test.rb +0 -36
- data/test/unit/queries/span_multi_test.rb +0 -36
- data/test/unit/queries/span_near_test.rb +0 -39
- data/test/unit/queries/span_not_test.rb +0 -40
- data/test/unit/queries/span_or_test.rb +0 -36
- data/test/unit/queries/span_term_test.rb +0 -24
- data/test/unit/queries/template_test.rb +0 -43
- data/test/unit/queries/term_test.rb +0 -27
- data/test/unit/queries/terms_test.rb +0 -24
- data/test/unit/queries/top_children_test.rb +0 -53
- 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
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
}
|
28
|
+
mappings: {
|
29
|
+
properties: {
|
30
|
+
tags: {type: 'keyword'}
|
31
|
+
}
|
16
32
|
}
|
17
|
-
}
|
18
33
|
}
|
19
|
-
@client.index index: 'test',
|
20
|
-
@client.index index: 'test',
|
21
|
-
@client.index index: 'test',
|
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 "
|
190
|
-
map_script "if (doc['tags'].value.contains('one')) {
|
191
|
-
combine_script "double sum = 0; for (t in
|
192
|
-
reduce_script "double sum = 0; for (a in
|
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',
|
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',
|
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',
|
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',
|
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',
|
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',
|
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',
|
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
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
151
|
+
mappings: {
|
152
|
+
properties: {
|
153
|
+
location: {
|
154
|
+
type: 'geo_point'
|
155
|
+
}
|
143
156
|
}
|
144
|
-
}
|
145
157
|
}
|
146
|
-
}
|
147
158
|
}
|
148
|
-
@client.index index: 'places',
|
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',
|
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',
|
12
|
-
@client.index index: 'test',
|
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',
|
16
|
-
@client.index index: 'test',
|
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: {
|
28
|
+
mappings: { properties: { title: { type: 'text', fields: { keyword: { type: 'keyword' } } } } } }
|
12
29
|
|
13
|
-
25.times { |i| @client.index index: 'test',
|
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'
|
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',
|
16
|
-
@client.index index: 'test',
|
17
|
-
@client.index index: 'test',
|
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
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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',
|
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',
|
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',
|
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',
|
43
|
-
@client.index index: 'test',
|
44
|
-
@client.index index: 'test',
|
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
|
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
|
|
data/test/unit/dsl_test.rb
CHANGED
@@ -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
|