lib/elasticsearch/api/actions/cat/fielddata.rb in elasticsearch-api-7.4.0 vs lib/elasticsearch/api/actions/cat/fielddata.rb in elasticsearch-api-7.5.0.pre.pre

- old
+ new

@@ -4,56 +4,54 @@ module Elasticsearch module API module Cat module Actions - - # Return information about field data usage across the cluster + # Shows how much heap memory is currently being used by fielddata on every data node in the cluster. # - # @example Return the total size of field data - # - # client.cat.fielddata - # - # @example Return both the total size and size for specific fields - # - # client.cat.fielddata fields: 'title,body' - # - # @option arguments [List] :fields A comma-separated list of fields to include in the output - # @option arguments [String] :bytes The unit in which to display byte values (options: b, k, m, g) - # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node - # (default: false) - # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node + # @option arguments [List] :fields A comma-separated list of fields to return the fielddata size + # @option arguments [String] :format a short version of the Accept header, e.g. json, yaml + # @option arguments [String] :bytes The unit in which to display byte values + # (options: b,k,kb,m,mb,g,gb,t,tb,p,pb) + # @option arguments [List] :h Comma-separated list of column names to display # @option arguments [Boolean] :help Return help information - # @option arguments [Boolean] :v Verbose mode. Display column headers # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by + # @option arguments [Boolean] :v Verbose mode. Display column headers + # @option arguments [List] :fields A comma-separated list of fields to return in the output + # - # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html + # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.5/cat-fielddata.html # - def fielddata(arguments={}) - fields = arguments.delete(:fields) + def fielddata(arguments = {}) + arguments = arguments.clone - method = HTTP_GET - path = Utils.__pathify "_cat/fielddata", Utils.__listify(fields) + _fields = arguments.delete(:fields) + + method = Elasticsearch::API::HTTP_GET + path = if _fields + "_cat/fielddata/#{Utils.__listify(_fields)}" + else + "_cat/fielddata" +end params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__) - body = nil + body = nil perform_request(method, path, params, body).body end # Register this action with its valid params when the module is loaded. # - # @since 6.1.1 + # @since 6.2.0 ParamsRegistry.register(:fielddata, [ - :format, - :bytes, - :local, - :master_timeout, - :h, - :help, - :s, - :v, - :fields ].freeze) + :format, + :bytes, + :h, + :help, + :s, + :v, + :fields + ].freeze) +end end - end end end