SearchIndex Class

Represents a search index definition, which describes the fields and search behavior of an index.

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

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

Constructor

SearchIndex(*, name: str, fields: List[SearchField], scoring_profiles: List[ScoringProfile] | None = None, default_scoring_profile: str | None = None, cors_options: CorsOptions | None = None, suggesters: List[SearchSuggester] | None = None, analyzers: List[LexicalAnalyzer] | None = None, tokenizers: List[LexicalTokenizer] | None = None, token_filters: List[TokenFilter] | None = None, char_filters: List[CharFilter] | None = None, encryption_key: SearchResourceEncryptionKey | None = None, similarity: SimilarityAlgorithm | None = None, semantic_search: SemanticSearch | None = None, vector_search: VectorSearch | None = None, e_tag: str | None = None, **kwargs)

Keyword-Only Parameters

Name Description
name
Required
fields
Required
scoring_profiles
Required
default_scoring_profile
Required
cors_options
Required
suggesters
Required
analyzers
Required
tokenizers
Required
token_filters
Required
char_filters
Required
encryption_key
Required
similarity
Required
semantic_search
Required
vector_search
Required
e_tag
Required

Variables

Name Description
name
str

Required. The name of the index.

fields

Required. The fields of the index.

scoring_profiles

The scoring profiles for the index.

default_scoring_profile
str

The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used.

cors_options

Options to control Cross-Origin Resource Sharing (CORS) for the index.

suggesters

The suggesters for the index.

analyzers

The analyzers for the index.

tokenizers

The tokenizers for the index.

token_filters

The token filters for the index.

char_filters

The character filters for the index.

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 data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search 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 data 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.

similarity

The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity algorithm is used.

semantic_search

Defines parameters for a search index that influence semantic capabilities.

vector_search

Defines parameters for a search index that influence scoring in a vector space.

e_tag
str

The ETag of the index.

Methods

as_dict

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

deserialize

Parse a str using the RestAPI syntax and return a SearchIndex instance.

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.

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
keep_readonly

If you want to serialize the readonly attributes

Default value: True
key_transformer

A callable that will transform the key of the dict

Returns

Type Description

A dict JSON compatible object

deserialize

Parse a str using the RestAPI syntax and return a SearchIndex instance.

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

Parameters

Name Description
data
Required
str

A str using RestAPI structure. JSON by default.

content_type
str

JSON by default, set application/xml if XML.

Default value: None

Returns

Type Description

A SearchIndex instance

Exceptions

Type Description
DeserializationError if something went wrong

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) -> Self | None

Parameters

Name Description
data
Required

A dict using RestAPI structure

key_extractors

A callable that will extract a key from a dict

Default value: None
content_type
str

JSON by default, set application/xml if XML.

Default value: None

Returns

Type Description

A SearchIndex instance

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