Source code for elasticsearch_tornado.indices

from .client import BaseClient


[docs]class IndicesClient(BaseClient):
[docs] def analyze_index(self, index=None, body=None, params={}, callback=None, **kwargs): """ Perform the analysis process on a text and return the tokens breakdown of the text. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-analyze.html>`_ :arg index: The name of the index to scope the operation :arg body: The text on which the analysis should be performed :arg analyzer: The name of the analyzer to use :arg char_filters: A comma-separated list of character filters to use for the analysis :arg field: Use the analyzer configured for this field (instead of passing the analyzer name) :arg filters: A comma-separated list of filters to use for the analysis :arg format: Format of the output, default u'detailed' :arg index: The name of the index to scope the operation :arg prefer_local: With `true`, specify that a local shard should be used if available, with `false`, use a random shard (default: true) :arg text: The text on which the analysis should be performed (when request body is not used) :arg tokenizer: The name of the tokenizer to use for the analysis """ query_params = ( 'analyzer', 'char_filters', 'field', 'filters', 'format', 'index', 'prefer_local', 'text', 'tokenizer', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_analyze'], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def refresh_index(self, body='', index=None, params={}, callback=None, **kwargs): """ Explicitly refresh one or more index, making all operations performed since the last refresh available for search. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-refresh.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones, default u'none' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg force: Force a refresh even if not required """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'force', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_refresh'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def flush_index(self, index=None, body='', params={}, callback=None, **kwargs): """ Explicitly flush one or more indices. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-flush.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string for all indices :arg force: Whether a flush should be forced even if it is not necessarily needed ie. if no changes will be committed to the index. :arg full: If set to true a new index writer is created and settings that have been changed related to the index writer will be refreshed. :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) """ query_params = ( 'force', 'full', 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_flush'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def create_index(self, index, body, params={}, callback=None, **kwargs): """ Create an index in Elasticsearch. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#indices-create-index>`_ :arg index: The name of the index :arg body: The configuration for the index (`settings` and `mappings`) :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def indices(self, index, feature=None, params={}, callback=None, **kwargs): """ `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html#indices-get-index>`_ :arg index: A comma-separated list of index names :arg feature: A comma-separated list of features :arg allow_no_indices: Ignore if a wildcard expression resolves to no concrete indices (default: false) :arg expand_wildcards: Whether wildcard expressions should get expanded to open or closed indices (default: open) :arg ignore_unavailable: Ignore unavailable indexes (default: false) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, feature], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def open_index(self, index, body='', params={}, callback=None, **kwargs): """ Open a closed index to make it available for search. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>`_ :arg index: The name of the index :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) """ query_params = ( 'timeout', 'master_timeout' 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_open'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def close_index(self, index, body='', params={}, callback=None, **kwargs): """ Close an index to remove it's overhead from the cluster. Closed index is blocked for read/write operations. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>`_ :arg index: A comma-separated list of indices to close; use `_all` or '*' to close all indices :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both., default u'open' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', 'master_timeout', 'timeout', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_close'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def delete_index(self, index, params={}, callback=None, **kwargs): """ Delete an index in Elasticsearch `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html#indices-delete-index>`_ :arg index: A comma-separated list of indices to delete; use `_all` or '*' to delete all indices :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index], **params) self.client.fetch( self.mk_req(url, method='DELETE', **kwargs), callback = callback )
[docs] def index_exists(self, index, params={}, callback=None, **kwargs): """ Return a boolean indicating whether given index exists. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html#indices-exists>`_ :arg index: A list of indices to check :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both., default u'open' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index], **params) self.client.fetch( self.mk_req(url, method='HEAD', **kwargs), callback = callback )
[docs] def index_exists_type(self, index, doc_type, params={}, callback=None, **kwargs): """ Check if a type/types exists in an index/indices. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-types-exists.html>`_ :arg index: A comma-separated list of index names; use `_all` to check the types across all indices :arg doc_type: A comma-separated list of document types to check :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, doc_type], **params) self.client.fetch( self.mk_req(url, method='HEAD', **kwargs), callback = callback )
[docs] def put_mapping(self, doc_type, body, index=None, params={}, callback=None, **kwargs): """ Register specific mapping definition for a specific type. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html#indices-put-mapping>`_ :arg index: A comma-separated list of index names the alias should point to (supports wildcards); use `_all` or omit to perform the operation on all indices. :arg doc_type: The name of the document type :arg body: The mapping definition :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both., default u'open' :arg ignore_conflicts: Specify whether to ignore conflicts while updating the mapping (default: false) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_conflicts', 'ignore_unavailable', 'master_timeout', 'timeout', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_mapping', doc_type], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def get_mapping(self, index=None, doc_type=None, params={}, callback=None, **kwargs): """ Retrieve mapping definition of index or index/type. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string for all indices :arg doc_type: A comma-separated list of document types :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'ignore_unavailable', 'allow_no_indices', 'expand_wildcards', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_mapping', doc_type], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def get_field_mapping(self, field, index=None, doc_type=None, params={}, callback=None, **kwargs): """ Retrieve mapping definition of a specific field. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-mapping.html#indices-get-field-mapping>`_ :arg index: A comma-separated list of index names; use `_all` or empty string for all indices :arg doc_type: A comma-separated list of document types :arg field: A comma-separated list of fields to retrieve the mapping for :arg include_defaults: A boolean indicating whether to return default values :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'include_defaults', 'ignore_unavailable', 'allow_no_indices', 'expand_wildcards', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_mapping', doc_type, 'field', field], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def delete_mapping(self, index, doc_type, params={}, callback=None, **kwargs): """ Delete a mapping (type) along with its data. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-delete-mapping.html>`_ :arg index: A comma-separated list of index names (supports wildcard); use `_all` for all indices :arg doc_type: A comma-separated list of document types to delete (supports wildcards); use `_all` to delete all document types in the specified indices. :arg master_timeout: Specify timeout for connection to master """ query_params = ('master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_mapping', doc_type], **params) self.client.fetch( self.mk_req(url, method='DELETE', **kwargs), callback = callback )
[docs] def put_alias(self, name, index, body, params={}, callback=None, **kwargs): """ Create an alias for a specific index/indices. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg index: A comma-separated list of index names the alias should point to (supports wildcards); use `_all` or omit to perform the operation on all indices. :arg name: The name of the alias to be created or updated :arg body: The settings for the alias, such as `routing` or `filter` :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit timestamp for the document """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_alias', name], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def exists_alias(self, name, index=None, params={}, callback=None, **kwargs): """ Return a boolean indicating whether given alias exists. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg name: A comma-separated list of alias names to return :arg index: A comma-separated list of index names to filter aliases :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_alias', name], **params) self.client.fetch( self.mk_req(url, method='HEAD', **kwargs), callback = callback )
[docs] def get_alias(self, index=None, name=None, params={}, callback=None, **kwargs): """ Retrieve a specified alias. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg name: A comma-separated list of alias names to return :arg index: A comma-separated list of index names to filter aliases :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones, default u'none' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_alias', name], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def get_aliases(self, index=None, name=None, params={}, callback=None, **kwargs): """ Retrieve specified aliases `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg index: A comma-separated list of index names to filter aliases :arg name: A comma-separated list of alias names to filter :arg local: Return local information, do not retrieve the state from master node (default: false) :arg timeout: Explicit operation timeout """ query_params = ('local', 'timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_aliases', name], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def update_aliases(self, body, params={}, callback=None, **kwargs): """ Update specified aliases. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg body: The definition of `actions` to perform :arg master_timeout: Specify timeout for connection to master :arg timeout: Request timeout """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*['_aliases'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def delete_alias(self, index, name, params={}, callback=None, **kwargs): """ Delete specific alias. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases>`_ :arg index: A comma-separated list of index names (supports wildcards); use `_all` for all indices :arg name: A comma-separated list of aliases to delete (supports wildcards); use `_all` to delete all aliases for the specified indices. :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit timestamp for the document """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_alias', name], **params) self.client.fetch( self.mk_req(url, method='DELETE', **kwargs), callback = callback )
[docs] def put_template(self, name, body, params={}, callback=None, **kwargs): """ Create an index template that will automatically be applied to new indices created. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>`_ :arg name: The name of the template :arg body: The template definition :arg create: Whether the index template should only be added if new or can also replace an existing one :arg order: The order for this template when merging multiple matching ones (higher numbers are merged later, overriding the lower numbers) :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout :arg flat_settings: Return settings in flat format (default: false) """ query_params = ( 'create', 'order', 'timeout', 'master_timeout', 'flat_settings', ) params = self._filter_params(query_params, params) url = self.mk_url(*['_template', name], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def exists_template(self, name, params={}, callback=None, **kwargs): """ Return a boolean indicating whether given template exists. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>`_ :arg name: The name of the template :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ('local',) params = self._filter_params(query_params, params) url = self.mk_url(*['_template', name], **params) self.client.fetch( self.mk_req(url, method='HEAD', **kwargs), callback = callback )
[docs] def get_template(self, name=None, params={}, callback=None, **kwargs): """ Retrieve an index template by its name. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>`_ :arg name: The name of the template :arg flat_settings: Return settings in flat format (default: false) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ('flat_settings', 'local',) params = self._filter_params(query_params, params) url = self.mk_url(*['_template', name], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def delete_template(self, name, params={}, callback=None, **kwargs): """ Delete an index template by its name. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>`_ :arg name: The name of the template :arg master_timeout: Specify timeout for connection to master :arg timeout: Explicit operation timeout """ query_params = ('timeout', 'master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*['_template', name], **params) self.client.fetch( self.mk_req(url, method='DELETE', **kwargs), callback = callback )
[docs] def get_settings(self, index=None, name=None, params={}, callback=None, **kwargs): """ Retrieve settings for one or more (or all) indices. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg name: The name of the settings that should be included :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones, default u'none' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg flat_settings: Return settings in flat format (default: false) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'flat_settings', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_settings', name], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def put_settings(self, body, index=None, params={}, callback=None, **kwargs): """ Change specific index level settings in real time. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html>`_ :arg body: The index settings to be updated :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both., default u'open' :arg flat_settings: Return settings in flat format (default: false) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg master_timeout: Specify timeout for connection to master """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'flat_settings', 'ignore_unavailable', 'master_timeout', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_settings'], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def put_warmer(self, name, body, index=None, doc_type=None, params={}, callback=None, **kwargs): """ Create an index warmer to run registered search requests to warm up the index before it is available for search. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-warmers.html>`_ :arg name: The name of the warmer :arg body: The search request definition for the warmer (query, filters, facets, sorting, etc) :arg index: A comma-separated list of index names to register the warmer for; use `_all` or omit to perform the operation on all indices :arg doc_type: A comma-separated list of document types to register the warmer for; leave empty to perform the operation on all types :arg allow_no_indices: Whether to ignore if a wildcard indices expression resolves into no concrete indices in the search request to warm. (This includes `_all` string or when no indices have been specified) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both, in the search request to warm., default u'open' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) in the search request to warm :arg master_timeout: Specify timeout for connection to master """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', 'master_timeout', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, doc_type, '_warmer', name], **params) self.client.fetch( self.mk_req(url, body=body, method='PUT', **kwargs), callback = callback )
[docs] def get_warmer(self, index=None, doc_type=None, name=None, params={}, callback=None, **kwargs): """ Retreieve an index warmer. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-warmers.html>`_ :arg index: A comma-separated list of index names to restrict the operation; use `_all` to perform the operation on all indices :arg doc_type: A comma-separated list of document types to restrict the operation; leave empty to perform the operation on all types :arg name: The name of the warmer (supports wildcards); leave empty to get all warmers :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both., default u'open' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg local: Return local information, do not retrieve the state from master node (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_unavailable', 'local', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, doc_type, '_warmer', name], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def delete_warmer(self, index, name, params={}, callback=None, **kwargs): """ Delete an index warmer. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-warmers.html>`_ :arg index: A comma-separated list of index names to delete warmers from (supports wildcards); use `_all` to perform the operation on all indices. :arg name: A comma-separated list of warmer names to delete (supports wildcards); use `_all` to delete all warmers in the specified indices. :arg master_timeout: Specify timeout for connection to master """ query_params = ('master_timeout',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_warmer', name], **params) self.client.fetch( self.mk_req(url, method='DELETE', **kwargs), callback = callback )
[docs] def stats(self, index=None, metric=None, params={}, callback=None, **kwargs): """ Retrieve statistics on different operations happening on an index. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html#indices-stats>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg metric: A comma-separated list of metrics to display. Possible values: "_all", "completion", "docs", "fielddata", "filter_cache", "flush", "get", "id_cache", "indexing", "merge", "percolate", "refresh", "search", "segments", "store", "warmer" :arg completion_fields: A comma-separated list of fields for `completion` metric (supports wildcards) :arg fielddata_fields: A comma-separated list of fields for `fielddata` metric (supports wildcards) :arg fields: A comma-separated list of fields for `fielddata` and `completion` metric (supports wildcards) :arg groups: A comma-separated list of search groups for `search` statistics :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg human: Whether to return time and byte values in human-readable format. :arg level: Return stats aggregated at cluster, index or shard level. ("cluster", "indices" or "shards", default: "indices") :arg types: A comma-separated list of document types for the `indexing` index metric """ query_params = ( 'completion_fields', 'docs', 'fielddata_fields', 'fields', 'groups', 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'human', 'level', 'types', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_stats', metric], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def segments(self, index=None, params={}, callback=None, **kwargs): """ Provide low level segments information that a Lucene index (shard level) is built with. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones, default u'none' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg human: Whether to return time and byte values in human-readable format (default: false) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'human', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_segments'], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def optimize(self, index=None, body='', params={}, callback=None, **kwargs): """ Explicitly optimize one or more indices through an API. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-optimize.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg flush: Specify whether the index should be flushed after performing the operation (default: true) :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones, default u'none' :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg max_num_segments: The number of segments the index should be merged into (default: dynamic) :arg only_expunge_deletes: Specify whether the operation should only expunge deleted documents :arg operation_threading: TODO: ? :arg wait_for_merge: Specify whether the request should block until the merge process is finished (default: true) """ query_params = ( 'flush', 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'max_num_segments', 'only_expunge_deletes', 'operation_threading', 'wait_for_merge', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_optimize'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def validate_query(self, index=None, doc_type=None, body=None, params={}, callback=None, **kwargs): """ Validate a potentially expensive query without executing it. `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-validate.html>`_ :arg index: A comma-separated list of index names to restrict the operation; use `_all` or empty string to perform the operation on all indices :arg doc_type: A comma-separated list of document types to restrict the operation; leave empty to perform the operation on all types :arg body: The query definition :arg explain: Return detailed information about the error :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg operation_threading: TODO: ? :arg q: Query in the Lucene query string syntax :arg source: The URL-encoded query definition (instead of using the request body) """ query_params = ( 'explain', 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'operation_threading', 'q', 'source', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, doc_type, '_validate', 'query'], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def clear_cache(self, index=None, body='', params={}, callback=None, **kwargs): """ Clear either all caches or specific cached associated with one ore more indices. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html#indices-clearcache>`_ :arg index: A comma-separated list of index name to limit the operation :arg field_data: Clear field data :arg fielddata: Clear field data :arg fields: A comma-separated list of fields to clear when using the `field_data` parameter (default: all) :arg filter: Clear filter caches :arg filter_cache: Clear filter caches :arg filter_keys: A comma-separated list of keys to clear when using the `filter_cache` parameter (default: all) :arg id: Clear ID caches for parent/child :arg id_cache: Clear ID caches for parent/child :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) :arg index: A comma-separated list of index name to limit the operation :arg recycler: Clear the recycler cache """ query_params = ( 'field_data', 'fielddata', 'fields', 'filter', 'filter_cache', 'filter_keys', 'id', 'id_cache', 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', 'index', 'recycler', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_cache', 'clear'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )
[docs] def recovery(self, index=None, params={}, callback=None, **kwargs): """ The indices recovery API provides insight into on-going shard recoveries. Recovery status may be reported for specific indices, or cluster-wide. `<https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html#indices-recovery>`_ :arg index: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices :arg active_only: Display only those recoveries that are currently on- going (default: 'false') :arg detailed: Whether to display detailed information about shard recovery (default: 'false') :arg human: Whether to return time and byte values in human-readable format. (default: 'false') """ query_params = ('active_only', 'detailed', 'human',) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_recovery'], **params) self.client.fetch( self.mk_req(url, method='GET', **kwargs), callback = callback )
[docs] def snapshot_index(self, index=None, body='', params={}, callback=None, **kwargs): """ Explicitly perform a snapshot through the gateway of one or more indices (backup them). `<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-gateway-snapshot.html>`_ :arg index: A comma-separated list of index names; use `_all` or empty string for all indices :arg 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) :arg expand_wildcards: Whether to expand wildcard expression to concrete indices that are open, closed or both. :arg ignore_indices: When performed on multiple indices, allows to ignore `missing` ones (default: none) :arg ignore_unavailable: Whether specified concrete indices should be ignored when unavailable (missing or closed) """ query_params = ( 'allow_no_indices', 'expand_wildcards', 'ignore_indices', 'ignore_unavailable', ) params = self._filter_params(query_params, params) url = self.mk_url(*[index, '_gateway', 'snapshot'], **params) self.client.fetch( self.mk_req(url, body=body, method='POST', **kwargs), callback = callback )