lib/elasticsearch/api/actions/field_caps.rb in elasticsearch-api-7.8.1 vs lib/elasticsearch/api/actions/field_caps.rb in elasticsearch-api-7.9.0.pre
- old
+ new
@@ -24,31 +24,38 @@
# @option arguments [List] :fields A comma-separated list of field names
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
# @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)
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
# (options: open,closed,hidden,none,all)
+
# @option arguments [Boolean] :include_unmapped Indicates whether unmapped fields should be included in the response.
# @option arguments [Hash] :headers Custom HTTP headers
+ # @option arguments [Hash] :body An index filter specified with the Query DSL
#
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-field-caps.html
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-field-caps.html
#
def field_caps(arguments = {})
headers = arguments.delete(:headers) || {}
arguments = arguments.clone
_index = arguments.delete(:index)
- method = Elasticsearch::API::HTTP_GET
- path = if _index
- "#{Utils.__listify(_index)}/_field_caps"
+ method = if arguments[:body]
+ Elasticsearch::API::HTTP_POST
else
- "_field_caps"
- end
+ Elasticsearch::API::HTTP_GET
+ end
+
+ path = if _index
+ "#{Utils.__listify(_index)}/_field_caps"
+ else
+ "_field_caps"
+ end
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
- body = nil
+ body = arguments[:body]
perform_request(method, path, params, body, headers).body
end
# Register this action with its valid params when the module is loaded.
#
@@ -59,7 +66,7 @@
:allow_no_indices,
:expand_wildcards,
:include_unmapped
].freeze)
end
- end
+ end
end