elasticsearch-api 1.0.7 → 1.0.9
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 +4 -4
 - data/lib/elasticsearch/api/actions/bulk.rb +1 -1
 - data/lib/elasticsearch/api/actions/cat/plugins.rb +34 -0
 - data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
 - data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
 - data/lib/elasticsearch/api/actions/count.rb +25 -10
 - data/lib/elasticsearch/api/actions/exists.rb +1 -1
 - data/lib/elasticsearch/api/actions/field_stats.rb +32 -0
 - data/lib/elasticsearch/api/actions/get.rb +3 -1
 - data/lib/elasticsearch/api/actions/get_template.rb +5 -0
 - data/lib/elasticsearch/api/actions/indices/analyze.rb +12 -1
 - data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
 - data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
 - data/lib/elasticsearch/api/actions/indices/exists_template.rb +5 -1
 - data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -0
 - data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
 - data/lib/elasticsearch/api/actions/indices/validate_query.rb +27 -14
 - data/lib/elasticsearch/api/actions/scroll.rb +1 -1
 - data/lib/elasticsearch/api/actions/search_exists.rb +59 -0
 - data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
 - data/lib/elasticsearch/api/version.rb +1 -1
 - data/test/integration/yaml_test_runner.rb +14 -3
 - data/test/unit/cat/plugins_test.rb +26 -0
 - data/test/unit/field_stats_test.rb +26 -0
 - data/test/unit/indices/get_template_test.rb +7 -0
 - data/test/unit/search_exists_test.rb +26 -0
 - metadata +11 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8117b07c3656cd36592dc6a74685015a35a77125
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f9673514f128f2de7b6e11fbdf456cc890f96122
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 756a663f49e4f94ddf31c28430f39f1683cbb92da3eeee1cf6d3c9851f064f00328e02de0e37f59e5c95ff1157aab0bc1398a533f24fa6d12d58450e3f6ce5e1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 0660cf068a76559597c9d17df4604c2d6855d615c98230ca242c231a35b60b1a0f0da324a3f148c464359072cb4a345becef650e70d43f6f276464541b7719c3
         
     | 
| 
         @@ -50,7 +50,7 @@ module Elasticsearch 
     | 
|
| 
       50 
50 
     | 
    
         
             
                  # @option arguments [String]  :consistency Explicit write consistency setting for the operation
         
     | 
| 
       51 
51 
     | 
    
         
             
                  #                             (options: one, quorum, all)
         
     | 
| 
       52 
52 
     | 
    
         
             
                  # @option arguments [Boolean] :refresh Refresh the index after performing the operation
         
     | 
| 
       53 
     | 
    
         
            -
                  # @option arguments [String]  :replication  
     | 
| 
      
 53 
     | 
    
         
            +
                  # @option arguments [String]  :replication Explicitly set the replication type (options: sync, async)
         
     | 
| 
       54 
54 
     | 
    
         
             
                  # @option arguments [Time]    :timeout Explicit operation timeout
         
     | 
| 
       55 
55 
     | 
    
         
             
                  #
         
     | 
| 
       56 
56 
     | 
    
         
             
                  # @return [Hash] Deserialized Elasticsearch response
         
     | 
| 
         @@ -0,0 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 2 
     | 
    
         
            +
              module API
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Cat
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Actions
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    # Return information about installed plugins
         
     | 
| 
      
 7 
     | 
    
         
            +
                    #
         
     | 
| 
      
 8 
     | 
    
         
            +
                    # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #                                    (default: false)
         
     | 
| 
      
 10 
     | 
    
         
            +
                    # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
         
     | 
| 
      
 11 
     | 
    
         
            +
                    # @option arguments [List] :h Comma-separated list of column names to display
         
     | 
| 
      
 12 
     | 
    
         
            +
                    # @option arguments [Boolean] :help Return help information
         
     | 
| 
      
 13 
     | 
    
         
            +
                    # @option arguments [Boolean] :v Verbose mode. Display column headers
         
     | 
| 
      
 14 
     | 
    
         
            +
                    #
         
     | 
| 
      
 15 
     | 
    
         
            +
                    # @see http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html
         
     | 
| 
      
 16 
     | 
    
         
            +
                    #
         
     | 
| 
      
 17 
     | 
    
         
            +
                    def plugins(arguments={})
         
     | 
| 
      
 18 
     | 
    
         
            +
                      valid_params = [
         
     | 
| 
      
 19 
     | 
    
         
            +
                        :local,
         
     | 
| 
      
 20 
     | 
    
         
            +
                        :master_timeout,
         
     | 
| 
      
 21 
     | 
    
         
            +
                        :h,
         
     | 
| 
      
 22 
     | 
    
         
            +
                        :help,
         
     | 
| 
      
 23 
     | 
    
         
            +
                        :v ]
         
     | 
| 
      
 24 
     | 
    
         
            +
                      method = 'GET'
         
     | 
| 
      
 25 
     | 
    
         
            +
                      path   = "/_cat/plugins"
         
     | 
| 
      
 26 
     | 
    
         
            +
                      params = Utils.__validate_and_extract_params arguments, valid_params
         
     | 
| 
      
 27 
     | 
    
         
            +
                      body   = nil
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                      perform_request(method, path, params, body).body
         
     | 
| 
      
 30 
     | 
    
         
            +
                    end
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -12,7 +12,7 @@ module Elasticsearch 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  def clear_scroll(arguments={})
         
     | 
| 
       13 
13 
     | 
    
         
             
                    raise ArgumentError, "Required argument 'scroll_id' missing" unless arguments[:scroll_id]
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                    scroll_id = arguments.delete(:scroll_id)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    scroll_id = arguments[:body] || arguments.delete(:scroll_id)
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                    scroll_ids = case scroll_id
         
     | 
| 
       18 
18 
     | 
    
         
             
                      when Array
         
     | 
| 
         @@ -16,7 +16,7 @@ module Elasticsearch 
     | 
|
| 
       16 
16 
     | 
    
         
             
                    #       ]
         
     | 
| 
       17 
17 
     | 
    
         
             
                    #     }
         
     | 
| 
       18 
18 
     | 
    
         
             
                    #
         
     | 
| 
       19 
     | 
    
         
            -
                    # @note If you want to  
     | 
| 
      
 19 
     | 
    
         
            +
                    # @note If you want to explicitly set the shard allocation to a certain node, you might
         
     | 
| 
       20 
20 
     | 
    
         
             
                    #       want to look at the `allocation.*` cluster settings.
         
     | 
| 
       21 
21 
     | 
    
         
             
                    #
         
     | 
| 
       22 
22 
     | 
    
         
             
                    # @option arguments [Hash] :body The definition of `commands` to perform (`move`, `cancel`, `allocate`)
         
     | 
| 
         @@ -18,32 +18,47 @@ module Elasticsearch 
     | 
|
| 
       18 
18 
     | 
    
         
             
                  #
         
     | 
| 
       19 
19 
     | 
    
         
             
                  # @option arguments [List] :index A comma-separated list of indices to restrict the results
         
     | 
| 
       20 
20 
     | 
    
         
             
                  # @option arguments [List] :type A comma-separated list of types to restrict the results
         
     | 
| 
       21 
     | 
    
         
            -
                  # @option arguments [Hash] :body A query to restrict the results (optional)
         
     | 
| 
       22 
     | 
    
         
            -
                  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
         
     | 
| 
       23 
     | 
    
         
            -
                  #                                               no concrete indices. (This includes `_all` string or when no
         
     | 
| 
       24 
     | 
    
         
            -
                  #                                               indices have been specified)
         
     | 
| 
       25 
     | 
    
         
            -
                  # @option arguments [String] :ignore_indices When performed on multiple indices, allows to ignore
         
     | 
| 
       26 
     | 
    
         
            -
                  #                                            `missing` ones (options: none, missing) @until 1.0
         
     | 
| 
      
 21 
     | 
    
         
            +
                  # @option arguments [Hash] :body A query to restrict the results specified with the Query DSL (optional)
         
     | 
| 
       27 
22 
     | 
    
         
             
                  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
         
     | 
| 
       28 
     | 
    
         
            -
                  #                                                 unavailable (missing 
     | 
| 
      
 23 
     | 
    
         
            +
                  #                                                 unavailable (missing or closed)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves
         
     | 
| 
      
 25 
     | 
    
         
            +
                  #                                               into no concrete indices.
         
     | 
| 
      
 26 
     | 
    
         
            +
                  # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #                                              that are open, closed or both.
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #                                              (options: open, closed, none, all)
         
     | 
| 
       29 
29 
     | 
    
         
             
                  # @option arguments [Number] :min_score Include only documents with a specific `_score` value in the result
         
     | 
| 
       30 
30 
     | 
    
         
             
                  # @option arguments [String] :preference Specify the node or shard the operation should be performed on
         
     | 
| 
       31 
31 
     | 
    
         
             
                  #                                        (default: random)
         
     | 
| 
       32 
32 
     | 
    
         
             
                  # @option arguments [String] :routing Specific routing value
         
     | 
| 
       33 
     | 
    
         
            -
                  # @option arguments [String] : 
     | 
| 
      
 33 
     | 
    
         
            +
                  # @option arguments [String] :q Query in the Lucene query string syntax
         
     | 
| 
      
 34 
     | 
    
         
            +
                  # @option arguments [String] :analyzer The analyzer to use for the query string
         
     | 
| 
      
 35 
     | 
    
         
            +
                  # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be
         
     | 
| 
      
 36 
     | 
    
         
            +
                  #                                               analyzed (default: false)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  # @option arguments [String] :default_operator The default operator for query string query (AND or OR)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  #                                              (options: AND, OR)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  # @option arguments [String] :df The field to use as default where no field prefix is given in the query
         
     | 
| 
      
 40 
     | 
    
         
            +
                  #                                string
         
     | 
| 
      
 41 
     | 
    
         
            +
                  # @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing text
         
     | 
| 
      
 42 
     | 
    
         
            +
                  #                                      to a numeric field) should be ignored
         
     | 
| 
      
 43 
     | 
    
         
            +
                  # @option arguments [Boolean] :lowercase_expanded_terms Specify whether query terms should be lowercased
         
     | 
| 
       34 
44 
     | 
    
         
             
                  #
         
     | 
| 
       35 
45 
     | 
    
         
             
                  # @see http://elasticsearch.org/guide/reference/api/count/
         
     | 
| 
       36 
46 
     | 
    
         
             
                  #
         
     | 
| 
       37 
47 
     | 
    
         
             
                  def count(arguments={})
         
     | 
| 
       38 
48 
     | 
    
         
             
                    valid_params = [
         
     | 
| 
       39 
     | 
    
         
            -
                      :ignore_indices,
         
     | 
| 
       40 
49 
     | 
    
         
             
                      :ignore_unavailable,
         
     | 
| 
       41 
50 
     | 
    
         
             
                      :allow_no_indices,
         
     | 
| 
       42 
51 
     | 
    
         
             
                      :expand_wildcards,
         
     | 
| 
       43 
52 
     | 
    
         
             
                      :min_score,
         
     | 
| 
       44 
53 
     | 
    
         
             
                      :preference,
         
     | 
| 
       45 
54 
     | 
    
         
             
                      :routing,
         
     | 
| 
       46 
     | 
    
         
            -
                      : 
     | 
| 
      
 55 
     | 
    
         
            +
                      :q,
         
     | 
| 
      
 56 
     | 
    
         
            +
                      :analyzer,
         
     | 
| 
      
 57 
     | 
    
         
            +
                      :analyze_wildcard,
         
     | 
| 
      
 58 
     | 
    
         
            +
                      :default_operator,
         
     | 
| 
      
 59 
     | 
    
         
            +
                      :df,
         
     | 
| 
      
 60 
     | 
    
         
            +
                      :lenient,
         
     | 
| 
      
 61 
     | 
    
         
            +
                      :lowercase_expanded_terms ]
         
     | 
| 
       47 
62 
     | 
    
         | 
| 
       48 
63 
     | 
    
         
             
                    method = HTTP_GET
         
     | 
| 
       49 
64 
     | 
    
         
             
                    path   = Utils.__pathify( Utils.__listify(arguments[:index]), Utils.__listify(arguments[:type]), '_count' )
         
     | 
| 
         @@ -6,7 +6,7 @@ module Elasticsearch 
     | 
|
| 
       6 
6 
     | 
    
         
             
                  #
         
     | 
| 
       7 
7 
     | 
    
         
             
                  # @example
         
     | 
| 
       8 
8 
     | 
    
         
             
                  #
         
     | 
| 
       9 
     | 
    
         
            -
                  #     client.exists index: 'myindex', type: 'mytype', id: '1'
         
     | 
| 
      
 9 
     | 
    
         
            +
                  #     client.exists? index: 'myindex', type: 'mytype', id: '1'
         
     | 
| 
       10 
10 
     | 
    
         
             
                  #
         
     | 
| 
       11 
11 
     | 
    
         
             
                  # @option arguments [String] :id The document ID (*Required*)
         
     | 
| 
       12 
12 
     | 
    
         
             
                  # @option arguments [String] :index The name of the index (*Required*)
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 2 
     | 
    
         
            +
              module API
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Actions
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                  # Returns statistical information about a field without executing a search.
         
     | 
| 
      
 6 
     | 
    
         
            +
                  #
         
     | 
| 
      
 7 
     | 
    
         
            +
                  # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
         
     | 
| 
      
 8 
     | 
    
         
            +
                  # @option arguments [List] :fields A comma-separated list of fields for to get field statistics for (min value, max value, and more)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  # @option arguments [String] :level Defines if field stats should be returned on a per index level or on a cluster wide level (options: indices, cluster)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, none, all)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #
         
     | 
| 
      
 14 
     | 
    
         
            +
                  # @see http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-stats.html
         
     | 
| 
      
 15 
     | 
    
         
            +
                  #
         
     | 
| 
      
 16 
     | 
    
         
            +
                  def field_stats(arguments={})
         
     | 
| 
      
 17 
     | 
    
         
            +
                    valid_params = [
         
     | 
| 
      
 18 
     | 
    
         
            +
                      :fields,
         
     | 
| 
      
 19 
     | 
    
         
            +
                      :level,
         
     | 
| 
      
 20 
     | 
    
         
            +
                      :ignore_unavailable,
         
     | 
| 
      
 21 
     | 
    
         
            +
                      :allow_no_indices,
         
     | 
| 
      
 22 
     | 
    
         
            +
                      :expand_wildcards ]
         
     | 
| 
      
 23 
     | 
    
         
            +
                    method = 'GET'
         
     | 
| 
      
 24 
     | 
    
         
            +
                    path   = "_field_stats"
         
     | 
| 
      
 25 
     | 
    
         
            +
                    params = Utils.__validate_and_extract_params arguments, valid_params
         
     | 
| 
      
 26 
     | 
    
         
            +
                    body   = nil
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    perform_request(method, path, params, body).body
         
     | 
| 
      
 29 
     | 
    
         
            +
                  end
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -28,6 +28,7 @@ module Elasticsearch 
     | 
|
| 
       28 
28 
     | 
    
         
             
                  #                                     or a list of fields to return
         
     | 
| 
       29 
29 
     | 
    
         
             
                  # @option arguments [String] :_source_exclude A list of fields to exclude from the returned _source field
         
     | 
| 
       30 
30 
     | 
    
         
             
                  # @option arguments [String] :_source_include A list of fields to extract and return from the _source field
         
     | 
| 
      
 31 
     | 
    
         
            +
                  # @option arguments [Boolean] :_source_transform Retransform the source before returning it
         
     | 
| 
       31 
32 
     | 
    
         
             
                  #
         
     | 
| 
       32 
33 
     | 
    
         
             
                  # @see http://elasticsearch.org/guide/reference/api/get/
         
     | 
| 
       33 
34 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -47,7 +48,8 @@ module Elasticsearch 
     | 
|
| 
       47 
48 
     | 
    
         
             
                      :version_type,
         
     | 
| 
       48 
49 
     | 
    
         
             
                      :_source,
         
     | 
| 
       49 
50 
     | 
    
         
             
                      :_source_include,
         
     | 
| 
       50 
     | 
    
         
            -
                      :_source_exclude 
     | 
| 
      
 51 
     | 
    
         
            +
                      :_source_exclude,
         
     | 
| 
      
 52 
     | 
    
         
            +
                      :_source_transform]
         
     | 
| 
       51 
53 
     | 
    
         | 
| 
       52 
54 
     | 
    
         
             
                    method = HTTP_GET
         
     | 
| 
       53 
55 
     | 
    
         
             
                    path   = Utils.__pathify Utils.__escape(arguments[:index]),
         
     | 
| 
         @@ -17,6 +17,11 @@ module Elasticsearch 
     | 
|
| 
       17 
17 
     | 
    
         
             
                    body   = arguments[:body]
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                    perform_request(method, path, params, body).body
         
     | 
| 
      
 20 
     | 
    
         
            +
                  rescue Exception => e
         
     | 
| 
      
 21 
     | 
    
         
            +
                    # NOTE: Use exception name, not full class in Elasticsearch::Client to allow client plugability
         
     | 
| 
      
 22 
     | 
    
         
            +
                    if Array(arguments[:ignore]).include?(404) && e.class.to_s =~ /NotFound/; false
         
     | 
| 
      
 23 
     | 
    
         
            +
                    else raise(e)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    end
         
     | 
| 
       20 
25 
     | 
    
         
             
                  end
         
     | 
| 
       21 
26 
     | 
    
         
             
                end
         
     | 
| 
       22 
27 
     | 
    
         
             
              end
         
     | 
| 
         @@ -21,12 +21,21 @@ module Elasticsearch 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    #
         
     | 
| 
       22 
22 
     | 
    
         
             
                    # @note If your text for analysis is longer than 4096 bytes then you should use the :body argument, rather than :text, to avoid HTTP transport errors
         
     | 
| 
       23 
23 
     | 
    
         
             
                    #
         
     | 
| 
      
 24 
     | 
    
         
            +
                    # @example Analyze text "Quick <b>Brown</b> Jumping Fox" with custom tokenizer, token and character filters
         
     | 
| 
      
 25 
     | 
    
         
            +
                    #
         
     | 
| 
      
 26 
     | 
    
         
            +
                    #     client.indices.analyze text: 'The Quick <b>Brown</b> Jumping Fox',
         
     | 
| 
      
 27 
     | 
    
         
            +
                    #                            tokenizer: 'standard',
         
     | 
| 
      
 28 
     | 
    
         
            +
                    #                            token_filters: 'lowercase,stop',
         
     | 
| 
      
 29 
     | 
    
         
            +
                    #                            char_filters: 'html_strip'
         
     | 
| 
      
 30 
     | 
    
         
            +
                    #
         
     | 
| 
       24 
31 
     | 
    
         
             
                    # @option arguments [String] :index The name of the index to scope the operation
         
     | 
| 
       25 
32 
     | 
    
         
             
                    # @option arguments [String] :body The text on which the analysis should be performed
         
     | 
| 
       26 
33 
     | 
    
         
             
                    # @option arguments [String] :analyzer The name of the analyzer to use
         
     | 
| 
       27 
34 
     | 
    
         
             
                    # @option arguments [String] :field Use the analyzer configured for this field
         
     | 
| 
       28 
35 
     | 
    
         
             
                    #                                   (instead of passing the analyzer name)
         
     | 
| 
       29 
     | 
    
         
            -
                    # @option arguments [List] :filters A comma-separated list of filters to use for the analysis
         
     | 
| 
      
 36 
     | 
    
         
            +
                    # @option arguments [List] :filters A comma-separated list of token filters to use for the analysis.
         
     | 
| 
      
 37 
     | 
    
         
            +
                    #                                   (Also available as the `:token_filters` option)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    # @option arguments [List] :char_filters A comma-separated list of char filters to use for the analysis
         
     | 
| 
       30 
39 
     | 
    
         
             
                    # @option arguments [String] :index The name of the index to scope the operation
         
     | 
| 
       31 
40 
     | 
    
         
             
                    # @option arguments [Boolean] :prefer_local With `true`, specify that a local shard should be used if available,
         
     | 
| 
       32 
41 
     | 
    
         
             
                    #                                           with `false`, use a random shard (default: true)
         
     | 
| 
         @@ -40,12 +49,14 @@ module Elasticsearch 
     | 
|
| 
       40 
49 
     | 
    
         
             
                    def analyze(arguments={})
         
     | 
| 
       41 
50 
     | 
    
         
             
                      valid_params = [
         
     | 
| 
       42 
51 
     | 
    
         
             
                        :analyzer,
         
     | 
| 
      
 52 
     | 
    
         
            +
                        :char_filters,
         
     | 
| 
       43 
53 
     | 
    
         
             
                        :field,
         
     | 
| 
       44 
54 
     | 
    
         
             
                        :filters,
         
     | 
| 
       45 
55 
     | 
    
         
             
                        :index,
         
     | 
| 
       46 
56 
     | 
    
         
             
                        :prefer_local,
         
     | 
| 
       47 
57 
     | 
    
         
             
                        :text,
         
     | 
| 
       48 
58 
     | 
    
         
             
                        :tokenizer,
         
     | 
| 
      
 59 
     | 
    
         
            +
                        :token_filters,
         
     | 
| 
       49 
60 
     | 
    
         
             
                        :format ]
         
     | 
| 
       50 
61 
     | 
    
         | 
| 
       51 
62 
     | 
    
         
             
                      method = HTTP_GET
         
     | 
| 
         @@ -7,7 +7,7 @@ module Elasticsearch 
     | 
|
| 
       7 
7 
     | 
    
         
             
                    #
         
     | 
| 
       8 
8 
     | 
    
         
             
                    # @example Check whether index named _myindex_ exists
         
     | 
| 
       9 
9 
     | 
    
         
             
                    #
         
     | 
| 
       10 
     | 
    
         
            -
                    #     client.indices.exists index: 'myindex'
         
     | 
| 
      
 10 
     | 
    
         
            +
                    #     client.indices.exists? index: 'myindex'
         
     | 
| 
       11 
11 
     | 
    
         
             
                    #
         
     | 
| 
       12 
12 
     | 
    
         
             
                    # @option arguments [List] :index A comma-separated list of indices to check (*Required*)
         
     | 
| 
       13 
13 
     | 
    
         
             
                    # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
         
     | 
| 
         @@ -7,7 +7,7 @@ module Elasticsearch 
     | 
|
| 
       7 
7 
     | 
    
         
             
                    #
         
     | 
| 
       8 
8 
     | 
    
         
             
                    # @example Check whether index alias named _myalias_ exists
         
     | 
| 
       9 
9 
     | 
    
         
             
                    #
         
     | 
| 
       10 
     | 
    
         
            -
                    #     client.indices.exists_alias name: 'myalias'
         
     | 
| 
      
 10 
     | 
    
         
            +
                    #     client.indices.exists_alias? name: 'myalias'
         
     | 
| 
       11 
11 
     | 
    
         
             
                    #
         
     | 
| 
       12 
12 
     | 
    
         
             
                    # @option arguments [List] :index A comma-separated list of index names to filter aliases
         
     | 
| 
       13 
13 
     | 
    
         
             
                    # @option arguments [List] :name A comma-separated list of alias names to return
         
     | 
| 
         @@ -3,7 +3,9 @@ module Elasticsearch 
     | 
|
| 
       3 
3 
     | 
    
         
             
                module Indices
         
     | 
| 
       4 
4 
     | 
    
         
             
                  module Actions
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
                    #  
     | 
| 
      
 6 
     | 
    
         
            +
                    # Return true if the specified index template exists, false otherwise.
         
     | 
| 
      
 7 
     | 
    
         
            +
                    #
         
     | 
| 
      
 8 
     | 
    
         
            +
                    #     client.indices.exists_template? name: 'mytemplate'
         
     | 
| 
       7 
9 
     | 
    
         
             
                    #
         
     | 
| 
       8 
10 
     | 
    
         
             
                    # @option arguments [String] :name The name of the template (*Required*)
         
     | 
| 
       9 
11 
     | 
    
         
             
                    # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
         
     | 
| 
         @@ -29,6 +31,8 @@ module Elasticsearch 
     | 
|
| 
       29 
31 
     | 
    
         
             
                        raise e
         
     | 
| 
       30 
32 
     | 
    
         
             
                      end
         
     | 
| 
       31 
33 
     | 
    
         
             
                    end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                    alias_method :exists_template?, :exists_template
         
     | 
| 
       32 
36 
     | 
    
         
             
                  end
         
     | 
| 
       33 
37 
     | 
    
         
             
                end
         
     | 
| 
       34 
38 
     | 
    
         
             
              end
         
     | 
| 
         @@ -5,6 +5,8 @@ module Elasticsearch 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
                    # Return true if the specified type exists, false otherwise.
         
     | 
| 
       7 
7 
     | 
    
         
             
                    #
         
     | 
| 
      
 8 
     | 
    
         
            +
                    #     client.indices.exists_type? type: 'mytype'
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #
         
     | 
| 
       8 
10 
     | 
    
         
             
                    # @option arguments [List] :index A comma-separated list of index names; use `_all`
         
     | 
| 
       9 
11 
     | 
    
         
             
                    #                                 to check the types across all indices (*Required*)
         
     | 
| 
       10 
12 
     | 
    
         
             
                    # @option arguments [List] :type A comma-separated list of document types to check (*Required*)
         
     | 
| 
         @@ -8,7 +8,7 @@ module Elasticsearch 
     | 
|
| 
       8 
8 
     | 
    
         
             
                    # By default, Elasticsearch has a delay of 1 second until changes to an index are
         
     | 
| 
       9 
9 
     | 
    
         
             
                    # available for search; the delay is configurable, see {Indices::Actions#put_settings}.
         
     | 
| 
       10 
10 
     | 
    
         
             
                    #
         
     | 
| 
       11 
     | 
    
         
            -
                    # You can trigger this operation  
     | 
| 
      
 11 
     | 
    
         
            +
                    # You can trigger this operation explicitly, for example when performing a sequence of commands
         
     | 
| 
       12 
12 
     | 
    
         
             
                    # in integration tests, or when you need to perform a manual "synchronization" of the index
         
     | 
| 
       13 
13 
     | 
    
         
             
                    # with an external system at given moment.
         
     | 
| 
       14 
14 
     | 
    
         
             
                    #
         
     | 
| 
         @@ -38,31 +38,44 @@ module Elasticsearch 
     | 
|
| 
       38 
38 
     | 
    
         
             
                    #                                 use `_all` or empty string to perform the operation on all indices
         
     | 
| 
       39 
39 
     | 
    
         
             
                    # @option arguments [List] :type A comma-separated list of document types to restrict the operation;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    #                                leave empty to perform the operation on all types
         
     | 
| 
       41 
     | 
    
         
            -
                    # @option arguments [Hash] :body The query definition  
     | 
| 
       42 
     | 
    
         
            -
                    # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
         
     | 
| 
       43 
     | 
    
         
            -
                    #                                               no concrete indices. (This includes `_all` string or when no
         
     | 
| 
       44 
     | 
    
         
            -
                    #                                               indices have been specified)
         
     | 
| 
       45 
     | 
    
         
            -
                    # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
         
     | 
| 
       46 
     | 
    
         
            -
                    #                                              are open, closed or both. (options: open, closed)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # @option arguments [Hash] :body The query definition specified with the Query DSL
         
     | 
| 
       47 
42 
     | 
    
         
             
                    # @option arguments [Boolean] :explain Return detailed information about the error
         
     | 
| 
       48 
     | 
    
         
            -
                    # @option arguments [ 
     | 
| 
       49 
     | 
    
         
            -
                    # 
     | 
| 
       50 
     | 
    
         
            -
                    # @option arguments [Boolean] : 
     | 
| 
       51 
     | 
    
         
            -
                    # 
     | 
| 
       52 
     | 
    
         
            -
                    # @option arguments [String] : 
     | 
| 
      
 43 
     | 
    
         
            +
                    # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored
         
     | 
| 
      
 44 
     | 
    
         
            +
                    #                                                 when unavailable (missing or closed)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression
         
     | 
| 
      
 46 
     | 
    
         
            +
                    #                                               resolves into no concrete indices.
         
     | 
| 
      
 47 
     | 
    
         
            +
                    # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices
         
     | 
| 
      
 48 
     | 
    
         
            +
                    #                                              that are open, closed or both.
         
     | 
| 
      
 49 
     | 
    
         
            +
                    #                                              (options: open, closed, none, all)
         
     | 
| 
      
 50 
     | 
    
         
            +
                    # @option arguments [String] :operation_threading TODO: ?
         
     | 
| 
       53 
51 
     | 
    
         
             
                    # @option arguments [String] :q Query in the Lucene query string syntax
         
     | 
| 
      
 52 
     | 
    
         
            +
                    # @option arguments [String] :analyzer The analyzer to use for the query string
         
     | 
| 
      
 53 
     | 
    
         
            +
                    # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be
         
     | 
| 
      
 54 
     | 
    
         
            +
                    #                                               analyzed (default: false)
         
     | 
| 
      
 55 
     | 
    
         
            +
                    # @option arguments [String] :default_operator The default operator for query string query (AND or OR)
         
     | 
| 
      
 56 
     | 
    
         
            +
                    #                                              (options: AND, OR)
         
     | 
| 
      
 57 
     | 
    
         
            +
                    # @option arguments [String] :df The field to use as default where no field prefix is given in
         
     | 
| 
      
 58 
     | 
    
         
            +
                    #                                the query string
         
     | 
| 
      
 59 
     | 
    
         
            +
                    # @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing
         
     | 
| 
      
 60 
     | 
    
         
            +
                    #                                      text to a numeric field) should be ignored
         
     | 
| 
      
 61 
     | 
    
         
            +
                    # @option arguments [Boolean] :lowercase_expanded_terms Specify whether query terms should be lowercased
         
     | 
| 
       54 
62 
     | 
    
         
             
                    #
         
     | 
| 
       55 
63 
     | 
    
         
             
                    # @see http://www.elasticsearch.org/guide/reference/api/validate/
         
     | 
| 
       56 
64 
     | 
    
         
             
                    #
         
     | 
| 
       57 
65 
     | 
    
         
             
                    def validate_query(arguments={})
         
     | 
| 
       58 
66 
     | 
    
         
             
                      valid_params = [
         
     | 
| 
       59 
     | 
    
         
            -
                        :q,
         
     | 
| 
       60 
67 
     | 
    
         
             
                        :explain,
         
     | 
| 
       61 
     | 
    
         
            -
                        :ignore_indices,
         
     | 
| 
       62 
68 
     | 
    
         
             
                        :ignore_unavailable,
         
     | 
| 
       63 
69 
     | 
    
         
             
                        :allow_no_indices,
         
     | 
| 
       64 
70 
     | 
    
         
             
                        :expand_wildcards,
         
     | 
| 
       65 
     | 
    
         
            -
                        : 
     | 
| 
      
 71 
     | 
    
         
            +
                        :operation_threading,
         
     | 
| 
      
 72 
     | 
    
         
            +
                        :q,
         
     | 
| 
      
 73 
     | 
    
         
            +
                        :analyzer,
         
     | 
| 
      
 74 
     | 
    
         
            +
                        :analyze_wildcard,
         
     | 
| 
      
 75 
     | 
    
         
            +
                        :default_operator,
         
     | 
| 
      
 76 
     | 
    
         
            +
                        :df,
         
     | 
| 
      
 77 
     | 
    
         
            +
                        :lenient,
         
     | 
| 
      
 78 
     | 
    
         
            +
                        :lowercase_expanded_terms ]
         
     | 
| 
       66 
79 
     | 
    
         | 
| 
       67 
80 
     | 
    
         
             
                      method = HTTP_GET
         
     | 
| 
       68 
81 
     | 
    
         
             
                      path   = Utils.__pathify Utils.__listify(arguments[:index]),
         
     | 
| 
         @@ -51,7 +51,7 @@ module Elasticsearch 
     | 
|
| 
       51 
51 
     | 
    
         
             
                      :scroll_id ]
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                    params = Utils.__validate_and_extract_params arguments, valid_params
         
     | 
| 
       54 
     | 
    
         
            -
                    body   = params.delete(:scroll_id) 
     | 
| 
      
 54 
     | 
    
         
            +
                    body   = arguments[:body] || params.delete(:scroll_id)
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
                    perform_request(method, path, params, body).body
         
     | 
| 
       57 
57 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -0,0 +1,59 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 2 
     | 
    
         
            +
              module API
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Actions
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                  # Return whether documents exists for a particular query
         
     | 
| 
      
 6 
     | 
    
         
            +
                  #
         
     | 
| 
      
 7 
     | 
    
         
            +
                  # @option arguments [List] :index A comma-separated list of indices to restrict the results
         
     | 
| 
      
 8 
     | 
    
         
            +
                  # @option arguments [List] :type A comma-separated list of types to restrict the results
         
     | 
| 
      
 9 
     | 
    
         
            +
                  # @option arguments [Hash] :body A query to restrict the results specified with the Query DSL (optional)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
         
     | 
| 
      
 11 
     | 
    
         
            +
                  #                                                 unavailable (missing or closed)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #                                               into no concrete indices.
         
     | 
| 
      
 14 
     | 
    
         
            +
                  # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices
         
     | 
| 
      
 15 
     | 
    
         
            +
                  #                                              that are open, closed or both.
         
     | 
| 
      
 16 
     | 
    
         
            +
                  #                                              (options: open, closed, none, all)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  # @option arguments [Number] :min_score Include only documents with a specific `_score` value in the result
         
     | 
| 
      
 18 
     | 
    
         
            +
                  # @option arguments [String] :preference Specify the node or shard the operation should be performed on
         
     | 
| 
      
 19 
     | 
    
         
            +
                  #                                        (default: random)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  # @option arguments [String] :routing Specific routing value
         
     | 
| 
      
 21 
     | 
    
         
            +
                  # @option arguments [String] :q Query in the Lucene query string syntax
         
     | 
| 
      
 22 
     | 
    
         
            +
                  # @option arguments [String] :analyzer The analyzer to use for the query string
         
     | 
| 
      
 23 
     | 
    
         
            +
                  # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be
         
     | 
| 
      
 24 
     | 
    
         
            +
                  #                                               analyzed (default: false)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  # @option arguments [String] :default_operator The default operator for query string query (AND or OR)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  #                                              (options: AND, OR)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  # @option arguments [String] :df The field to use as default where no field prefix is given
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #                                in the query string
         
     | 
| 
      
 29 
     | 
    
         
            +
                  # @option arguments [Boolean] :lenient Specify whether format-based query failures
         
     | 
| 
      
 30 
     | 
    
         
            +
                  #                                      (such as providing text to a numeric field) should be ignored
         
     | 
| 
      
 31 
     | 
    
         
            +
                  # @option arguments [Boolean] :lowercase_expanded_terms Specify whether query terms should be lowercased
         
     | 
| 
      
 32 
     | 
    
         
            +
                  #
         
     | 
| 
      
 33 
     | 
    
         
            +
                  # @see http://www.elastic.co/guide/en/elasticsearch/reference/master/search-exists.html
         
     | 
| 
      
 34 
     | 
    
         
            +
                  #
         
     | 
| 
      
 35 
     | 
    
         
            +
                  def search_exists(arguments={})
         
     | 
| 
      
 36 
     | 
    
         
            +
                    valid_params = [
         
     | 
| 
      
 37 
     | 
    
         
            +
                      :ignore_unavailable,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      :allow_no_indices,
         
     | 
| 
      
 39 
     | 
    
         
            +
                      :expand_wildcards,
         
     | 
| 
      
 40 
     | 
    
         
            +
                      :min_score,
         
     | 
| 
      
 41 
     | 
    
         
            +
                      :preference,
         
     | 
| 
      
 42 
     | 
    
         
            +
                      :routing,
         
     | 
| 
      
 43 
     | 
    
         
            +
                      :q,
         
     | 
| 
      
 44 
     | 
    
         
            +
                      :analyzer,
         
     | 
| 
      
 45 
     | 
    
         
            +
                      :analyze_wildcard,
         
     | 
| 
      
 46 
     | 
    
         
            +
                      :default_operator,
         
     | 
| 
      
 47 
     | 
    
         
            +
                      :df,
         
     | 
| 
      
 48 
     | 
    
         
            +
                      :lenient,
         
     | 
| 
      
 49 
     | 
    
         
            +
                      :lowercase_expanded_terms ]
         
     | 
| 
      
 50 
     | 
    
         
            +
                    method = 'POST'
         
     | 
| 
      
 51 
     | 
    
         
            +
                    path   = "_search/exists"
         
     | 
| 
      
 52 
     | 
    
         
            +
                    params = Utils.__validate_and_extract_params arguments, valid_params
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body   = arguments[:body]
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                    perform_request(method, path, params, body).body
         
     | 
| 
      
 56 
     | 
    
         
            +
                  end
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -3,7 +3,7 @@ module Elasticsearch 
     | 
|
| 
       3 
3 
     | 
    
         
             
                module Snapshot
         
     | 
| 
       4 
4 
     | 
    
         
             
                  module Actions
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
                    #  
     | 
| 
      
 6 
     | 
    
         
            +
                    # Explicitly perform the verification of a repository
         
     | 
| 
       7 
7 
     | 
    
         
             
                    #
         
     | 
| 
       8 
8 
     | 
    
         
             
                    # @option arguments [String] :repository A repository name (*Required*)
         
     | 
| 
       9 
9 
     | 
    
         
             
                    # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
         
     | 
| 
         @@ -76,7 +76,8 @@ tracer.formatter = proc { |severity, datetime, progname, msg| "#{msg}\n" } 
     | 
|
| 
       76 
76 
     | 
    
         
             
            #
         
     | 
| 
       77 
77 
     | 
    
         
             
            #     ruby -I lib:test -r ./tmp/my_special_client.rb test/integration/yaml_test_runner.rb
         
     | 
| 
       78 
78 
     | 
    
         
             
            #
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
      
 79 
     | 
    
         
            +
            url = ENV.fetch('TEST_CLUSTER_URL', "http://localhost:#{ENV['TEST_CLUSTER_PORT'] || 9250}")
         
     | 
| 
      
 80 
     | 
    
         
            +
            $client ||= Elasticsearch::Client.new url: url
         
     | 
| 
       80 
81 
     | 
    
         | 
| 
       81 
82 
     | 
    
         
             
            $client.transport.logger = logger unless ENV['QUIET'] || ENV['CI']
         
     | 
| 
       82 
83 
     | 
    
         
             
            $client.transport.tracer = tracer if ENV['CI']
         
     | 
| 
         @@ -223,6 +224,9 @@ module Elasticsearch 
     | 
|
| 
       223 
224 
     | 
    
         | 
| 
       224 
225 
     | 
    
         
             
                    # Skip version
         
     | 
| 
       225 
226 
     | 
    
         
             
                    if skip && skip['skip']['version']
         
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
                      return skip['skip']['reason'] ? skip['skip']['reason'] : true if skip['skip']['version'] == 'all'
         
     | 
| 
      
 229 
     | 
    
         
            +
             
     | 
| 
       226 
230 
     | 
    
         
             
                      min, max = skip['skip']['version'].split('-').map(&:strip)
         
     | 
| 
       227 
231 
     | 
    
         | 
| 
       228 
232 
     | 
    
         
             
                      min_normalized = sprintf "%03d-%03d-%03d",
         
     | 
| 
         @@ -238,7 +242,7 @@ module Elasticsearch 
     | 
|
| 
       238 
242 
     | 
    
         | 
| 
       239 
243 
     | 
    
         
             
                      es_normalized  = sprintf "%03d-%03d-%03d", *$es_version.split('.').map(&:to_i)
         
     | 
| 
       240 
244 
     | 
    
         | 
| 
       241 
     | 
    
         
            -
                      if min_normalized <= es_normalized && max_normalized >= es_normalized
         
     | 
| 
      
 245 
     | 
    
         
            +
                      if ( min.empty? || min_normalized <= es_normalized ) && ( max.empty? || max_normalized >= es_normalized )
         
     | 
| 
       242 
246 
     | 
    
         
             
                        return skip['skip']['reason'] ? skip['skip']['reason'] : true
         
     | 
| 
       243 
247 
     | 
    
         
             
                      end
         
     | 
| 
       244 
248 
     | 
    
         | 
| 
         @@ -348,8 +352,14 @@ suites.each do |suite| 
     | 
|
| 
       348 
352 
     | 
    
         
             
                              begin
         
     | 
| 
       349 
353 
     | 
    
         
             
                                $results[test.hash] = Runner.perform_api_call(test, api, arguments)
         
     | 
| 
       350 
354 
     | 
    
         
             
                              rescue Exception => e
         
     | 
| 
      
 355 
     | 
    
         
            +
                                begin
         
     | 
| 
      
 356 
     | 
    
         
            +
                                  $results[test.hash] = MultiJson.load(e.message.match(/{.+}/, 1).to_s)
         
     | 
| 
      
 357 
     | 
    
         
            +
                                rescue MultiJson::ParseError
         
     | 
| 
      
 358 
     | 
    
         
            +
                                  $stderr.puts "RESPONSE: Cannot parse JSON from error message: '#{e.message}'" if ENV['DEBUG']
         
     | 
| 
      
 359 
     | 
    
         
            +
                                end
         
     | 
| 
      
 360 
     | 
    
         
            +
             
     | 
| 
       351 
361 
     | 
    
         
             
                                if catch_exception
         
     | 
| 
       352 
     | 
    
         
            -
                                  $stderr.puts "CATCH '#{catch_exception}': #{e.inspect}" if ENV['DEBUG']
         
     | 
| 
      
 362 
     | 
    
         
            +
                                  $stderr.puts "CATCH: '#{catch_exception}': #{e.inspect}" if ENV['DEBUG']
         
     | 
| 
       353 
363 
     | 
    
         
             
                                  case e
         
     | 
| 
       354 
364 
     | 
    
         
             
                                    when 'missing'
         
     | 
| 
       355 
365 
     | 
    
         
             
                                      assert_match /\[404\]/, e.message
         
     | 
| 
         @@ -400,6 +410,7 @@ suites.each do |suite| 
     | 
|
| 
       400 
410 
     | 
    
         
             
                              else
         
     | 
| 
       401 
411 
     | 
    
         
             
                                value = value.reduce({}) { |memo, (k,v)| memo[k] =  Runner.fetch_or_return(v); memo  } if value.is_a? Hash
         
     | 
| 
       402 
412 
     | 
    
         
             
                                $stderr.puts "CHECK: Expected '#{property}' to be '#{value}', is: #{result.inspect}" if ENV['DEBUG']
         
     | 
| 
      
 413 
     | 
    
         
            +
             
     | 
| 
       403 
414 
     | 
    
         
             
                                assert_equal(value, result)
         
     | 
| 
       404 
415 
     | 
    
         
             
                              end
         
     | 
| 
       405 
416 
     | 
    
         | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Test
         
     | 
| 
      
 5 
     | 
    
         
            +
                class CatPluginsTest < ::Test::Unit::TestCase
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  context "Cat: Plugins" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                    subject { FakeClient.new }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    should "perform correct request" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                      subject.expects(:perform_request).with do |method, url, params, body|
         
     | 
| 
      
 12 
     | 
    
         
            +
                        assert_equal 'GET', method
         
     | 
| 
      
 13 
     | 
    
         
            +
                        assert_equal '/_cat/plugins', url
         
     | 
| 
      
 14 
     | 
    
         
            +
                        assert_equal Hash.new, params
         
     | 
| 
      
 15 
     | 
    
         
            +
                        assert_nil   body
         
     | 
| 
      
 16 
     | 
    
         
            +
                        true
         
     | 
| 
      
 17 
     | 
    
         
            +
                      end.returns(FakeResponse.new)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                      subject.cat.plugins
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Test
         
     | 
| 
      
 5 
     | 
    
         
            +
                class FieldStatsTest < ::Test::Unit::TestCase
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  context "Field stats" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                    subject { FakeClient.new }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    should "perform correct request" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                      subject.expects(:perform_request).with do |method, url, params, body|
         
     | 
| 
      
 12 
     | 
    
         
            +
                        assert_equal 'GET', method
         
     | 
| 
      
 13 
     | 
    
         
            +
                        assert_equal '_field_stats', url
         
     | 
| 
      
 14 
     | 
    
         
            +
                        assert_equal Hash.new, params
         
     | 
| 
      
 15 
     | 
    
         
            +
                        assert_nil   body
         
     | 
| 
      
 16 
     | 
    
         
            +
                        true
         
     | 
| 
      
 17 
     | 
    
         
            +
                      end.returns(FakeResponse.new)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                      subject.field_stats
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -28,6 +28,13 @@ module Elasticsearch 
     | 
|
| 
       28 
28 
     | 
    
         
             
                      subject.indices.get_template :name => 'foo^bar'
         
     | 
| 
       29 
29 
     | 
    
         
             
                    end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
      
 31 
     | 
    
         
            +
                    should "catch a NotFound exception with the ignore parameter" do
         
     | 
| 
      
 32 
     | 
    
         
            +
                      subject.expects(:perform_request).raises(NotFound)
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                      assert_nothing_raised do
         
     | 
| 
      
 35 
     | 
    
         
            +
                        subject.get_template :id => 1, :ignore => 404
         
     | 
| 
      
 36 
     | 
    
         
            +
                      end
         
     | 
| 
      
 37 
     | 
    
         
            +
                    end
         
     | 
| 
       31 
38 
     | 
    
         | 
| 
       32 
39 
     | 
    
         
             
                  end
         
     | 
| 
       33 
40 
     | 
    
         | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Elasticsearch
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Test
         
     | 
| 
      
 5 
     | 
    
         
            +
                class SearchExistsTest < ::Test::Unit::TestCase
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  context "Search exists" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                    subject { FakeClient.new }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    should "perform correct request" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                      subject.expects(:perform_request).with do |method, url, params, body|
         
     | 
| 
      
 12 
     | 
    
         
            +
                        assert_equal 'POST', method
         
     | 
| 
      
 13 
     | 
    
         
            +
                        assert_equal '_search/exists', url
         
     | 
| 
      
 14 
     | 
    
         
            +
                        assert_equal 'foo', params[:q]
         
     | 
| 
      
 15 
     | 
    
         
            +
                        assert_nil   body
         
     | 
| 
      
 16 
     | 
    
         
            +
                        true
         
     | 
| 
      
 17 
     | 
    
         
            +
                      end.returns(FakeResponse.new)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                      subject.search_exists :q => 'foo'
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: elasticsearch-api
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.9
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Karel Minarik
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-05-14 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: multi_json
         
     | 
| 
         @@ -363,6 +363,7 @@ files: 
     | 
|
| 
       363 
363 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/master.rb
         
     | 
| 
       364 
364 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/nodes.rb
         
     | 
| 
       365 
365 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/pending_tasks.rb
         
     | 
| 
      
 366 
     | 
    
         
            +
            - lib/elasticsearch/api/actions/cat/plugins.rb
         
     | 
| 
       366 
367 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/recovery.rb
         
     | 
| 
       367 
368 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/segments.rb
         
     | 
| 
       368 
369 
     | 
    
         
             
            - lib/elasticsearch/api/actions/cat/shards.rb
         
     | 
| 
         @@ -383,6 +384,7 @@ files: 
     | 
|
| 
       383 
384 
     | 
    
         
             
            - lib/elasticsearch/api/actions/delete_template.rb
         
     | 
| 
       384 
385 
     | 
    
         
             
            - lib/elasticsearch/api/actions/exists.rb
         
     | 
| 
       385 
386 
     | 
    
         
             
            - lib/elasticsearch/api/actions/explain.rb
         
     | 
| 
      
 387 
     | 
    
         
            +
            - lib/elasticsearch/api/actions/field_stats.rb
         
     | 
| 
       386 
388 
     | 
    
         
             
            - lib/elasticsearch/api/actions/get.rb
         
     | 
| 
       387 
389 
     | 
    
         
             
            - lib/elasticsearch/api/actions/get_script.rb
         
     | 
| 
       388 
390 
     | 
    
         
             
            - lib/elasticsearch/api/actions/get_source.rb
         
     | 
| 
         @@ -443,6 +445,7 @@ files: 
     | 
|
| 
       443 
445 
     | 
    
         
             
            - lib/elasticsearch/api/actions/put_template.rb
         
     | 
| 
       444 
446 
     | 
    
         
             
            - lib/elasticsearch/api/actions/scroll.rb
         
     | 
| 
       445 
447 
     | 
    
         
             
            - lib/elasticsearch/api/actions/search.rb
         
     | 
| 
      
 448 
     | 
    
         
            +
            - lib/elasticsearch/api/actions/search_exists.rb
         
     | 
| 
       446 
449 
     | 
    
         
             
            - lib/elasticsearch/api/actions/search_shards.rb
         
     | 
| 
       447 
450 
     | 
    
         
             
            - lib/elasticsearch/api/actions/search_template.rb
         
     | 
| 
       448 
451 
     | 
    
         
             
            - lib/elasticsearch/api/actions/snapshot/create.rb
         
     | 
| 
         @@ -481,6 +484,7 @@ files: 
     | 
|
| 
       481 
484 
     | 
    
         
             
            - test/unit/cat/master_test.rb
         
     | 
| 
       482 
485 
     | 
    
         
             
            - test/unit/cat/nodes_test.rb
         
     | 
| 
       483 
486 
     | 
    
         
             
            - test/unit/cat/pending_tasks_test.rb
         
     | 
| 
      
 487 
     | 
    
         
            +
            - test/unit/cat/plugins_test.rb
         
     | 
| 
       484 
488 
     | 
    
         
             
            - test/unit/cat/recovery_test.rb
         
     | 
| 
       485 
489 
     | 
    
         
             
            - test/unit/cat/segments_test.rb
         
     | 
| 
       486 
490 
     | 
    
         
             
            - test/unit/cat/shards_test.rb
         
     | 
| 
         @@ -502,6 +506,7 @@ files: 
     | 
|
| 
       502 
506 
     | 
    
         
             
            - test/unit/delete_template_test.rb
         
     | 
| 
       503 
507 
     | 
    
         
             
            - test/unit/exists_document_test.rb
         
     | 
| 
       504 
508 
     | 
    
         
             
            - test/unit/explain_document_test.rb
         
     | 
| 
      
 509 
     | 
    
         
            +
            - test/unit/field_stats_test.rb
         
     | 
| 
       505 
510 
     | 
    
         
             
            - test/unit/get_document_source_test.rb
         
     | 
| 
       506 
511 
     | 
    
         
             
            - test/unit/get_document_test.rb
         
     | 
| 
       507 
512 
     | 
    
         
             
            - test/unit/get_script_test.rb
         
     | 
| 
         @@ -563,6 +568,7 @@ files: 
     | 
|
| 
       563 
568 
     | 
    
         
             
            - test/unit/put_script_test.rb
         
     | 
| 
       564 
569 
     | 
    
         
             
            - test/unit/put_template_test.rb
         
     | 
| 
       565 
570 
     | 
    
         
             
            - test/unit/scroll_test.rb
         
     | 
| 
      
 571 
     | 
    
         
            +
            - test/unit/search_exists_test.rb
         
     | 
| 
       566 
572 
     | 
    
         
             
            - test/unit/search_shards_test.rb
         
     | 
| 
       567 
573 
     | 
    
         
             
            - test/unit/search_template_test.rb
         
     | 
| 
       568 
574 
     | 
    
         
             
            - test/unit/search_test.rb
         
     | 
| 
         @@ -629,6 +635,7 @@ test_files: 
     | 
|
| 
       629 
635 
     | 
    
         
             
            - test/unit/cat/master_test.rb
         
     | 
| 
       630 
636 
     | 
    
         
             
            - test/unit/cat/nodes_test.rb
         
     | 
| 
       631 
637 
     | 
    
         
             
            - test/unit/cat/pending_tasks_test.rb
         
     | 
| 
      
 638 
     | 
    
         
            +
            - test/unit/cat/plugins_test.rb
         
     | 
| 
       632 
639 
     | 
    
         
             
            - test/unit/cat/recovery_test.rb
         
     | 
| 
       633 
640 
     | 
    
         
             
            - test/unit/cat/segments_test.rb
         
     | 
| 
       634 
641 
     | 
    
         
             
            - test/unit/cat/shards_test.rb
         
     | 
| 
         @@ -650,6 +657,7 @@ test_files: 
     | 
|
| 
       650 
657 
     | 
    
         
             
            - test/unit/delete_template_test.rb
         
     | 
| 
       651 
658 
     | 
    
         
             
            - test/unit/exists_document_test.rb
         
     | 
| 
       652 
659 
     | 
    
         
             
            - test/unit/explain_document_test.rb
         
     | 
| 
      
 660 
     | 
    
         
            +
            - test/unit/field_stats_test.rb
         
     | 
| 
       653 
661 
     | 
    
         
             
            - test/unit/get_document_source_test.rb
         
     | 
| 
       654 
662 
     | 
    
         
             
            - test/unit/get_document_test.rb
         
     | 
| 
       655 
663 
     | 
    
         
             
            - test/unit/get_script_test.rb
         
     | 
| 
         @@ -711,6 +719,7 @@ test_files: 
     | 
|
| 
       711 
719 
     | 
    
         
             
            - test/unit/put_script_test.rb
         
     | 
| 
       712 
720 
     | 
    
         
             
            - test/unit/put_template_test.rb
         
     | 
| 
       713 
721 
     | 
    
         
             
            - test/unit/scroll_test.rb
         
     | 
| 
      
 722 
     | 
    
         
            +
            - test/unit/search_exists_test.rb
         
     | 
| 
       714 
723 
     | 
    
         
             
            - test/unit/search_shards_test.rb
         
     | 
| 
       715 
724 
     | 
    
         
             
            - test/unit/search_template_test.rb
         
     | 
| 
       716 
725 
     | 
    
         
             
            - test/unit/search_test.rb
         
     |