SearchIndexer Class

Represents an indexer.

All required parameters must be populated in order to send to server.

Inheritance
azure.search.documents.indexes._generated._serialization.Model
SearchIndexer

Constructor

SearchIndexer(*, name: str, data_source_name: str, target_index_name: str, description: str | None = None, skillset_name: str | None = None, schedule: IndexingSchedule | None = None, parameters: IndexingParameters | None = None, field_mappings: List[FieldMapping] | None = None, output_field_mappings: List[FieldMapping] | None = None, is_disabled: bool = False, e_tag: str | None = None, encryption_key: SearchResourceEncryptionKey | None = None, **kwargs: Any)

Keyword-Only Parameters

Name Description
name
str

The name of the indexer. Required.

description
str

The description of the indexer.

data_source_name
str

The name of the datasource from which this indexer reads data. Required.

skillset_name
str

The name of the skillset executing with this indexer.

target_index_name
str

The name of the index to which this indexer writes data. Required.

schedule

The schedule for this indexer.

parameters

Parameters for indexer execution.

field_mappings

Defines mappings between fields in the data source and corresponding target fields in the index.

output_field_mappings

Output field mappings are applied after enrichment and immediately before indexing.

is_disabled

A value indicating whether the indexer is disabled. Default is false.

e_tag
str

The ETag of the indexer.

encryption_key

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your indexer definition (as well as indexer execution status) when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your indexer definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your indexer definition (and indexer execution status) will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

Variables

Name Description
name
str

The name of the indexer. Required.

description
str

The description of the indexer.

data_source_name
str

The name of the datasource from which this indexer reads data. Required.

skillset_name
str

The name of the skillset executing with this indexer.

target_index_name
str

The name of the index to which this indexer writes data. Required.

schedule

The schedule for this indexer.

parameters

Parameters for indexer execution.

field_mappings

Defines mappings between fields in the data source and corresponding target fields in the index.

output_field_mappings

Output field mappings are applied after enrichment and immediately before indexing.

is_disabled

A value indicating whether the indexer is disabled. Default is false.

e_tag
str

The ETag of the indexer.

encryption_key

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your indexer definition (as well as indexer execution status) when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your indexer definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your indexer definition (and indexer execution status) will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

Methods

as_dict

Return a dict that can be serialized using json.dump.

Advanced usage might optionally use a callback as parameter:

Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.

The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.

See the three examples in this file:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

If you want XML serialization, you can pass the kwargs is_xml=True.

deserialize

Parse a str using the RestAPI syntax and return a SearchIndexer instance. :param str data: A str using RestAPI structure. JSON by default. :param str content_type: JSON by default, set application/xml if XML. :returns: A SearchIndexer instance :rtype: SearchIndexer :raises: DeserializationError if something went wrong

enable_additional_properties_sending
from_dict

Parse a dict using given key extractor return a model.

By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Return the JSON that would be sent to server from this model. :param bool keep_readonly: If you want to serialize the readonly attributes :returns: A dict JSON compatible object :rtype: dict

as_dict

Return a dict that can be serialized using json.dump.

Advanced usage might optionally use a callback as parameter:

Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.

The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.

See the three examples in this file:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

If you want XML serialization, you can pass the kwargs is_xml=True.

as_dict(keep_readonly: bool = True, key_transformer: ~typing.Callable[[str, ~typing.Dict[str, ~typing.Any], ~typing.Any], ~typing.Any] = <function attribute_transformer>, **kwargs: ~typing.Any) -> MutableMapping[str, Any]

Parameters

Name Description
key_transformer
<xref:function>

A key transformer function.

keep_readonly
Default value: True

Returns

Type Description

A dict JSON compatible object

deserialize

Parse a str using the RestAPI syntax and return a SearchIndexer instance. :param str data: A str using RestAPI structure. JSON by default. :param str content_type: JSON by default, set application/xml if XML. :returns: A SearchIndexer instance :rtype: SearchIndexer :raises: DeserializationError if something went wrong

deserialize(data: Any, content_type: str | None = None) -> Self | None

Parameters

Name Description
data
Required
content_type
Default value: None

enable_additional_properties_sending

enable_additional_properties_sending() -> None

from_dict

Parse a dict using given key extractor return a model.

By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)

from_dict(data: Any, key_extractors: Callable[[str, Dict[str, Any], Any], Any] | None = None, content_type: str | None = None) -> ModelType

Parameters

Name Description
data
Required

A dict using RestAPI structure

content_type
str

JSON by default, set application/xml if XML.

Default value: None
key_extractors
Default value: None

Returns

Type Description

An instance of this model

Exceptions

Type Description
DeserializationError if something went wrong

is_xml_model

is_xml_model() -> bool

serialize

Return the JSON that would be sent to server from this model. :param bool keep_readonly: If you want to serialize the readonly attributes :returns: A dict JSON compatible object :rtype: dict

serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]

Parameters

Name Description
keep_readonly
Default value: False