SearchField Classe
Representa um campo em uma definição de índice, que descreve o nome, o tipo de dados e o comportamento de pesquisa de um campo.
Todos os parâmetros necessários devem ser preenchidos para enviar ao Azure.
- Herança
-
azure.search.documents.indexes._generated._serialization.ModelSearchField
Construtor
SearchField(**kwargs)
Variáveis
Nome | Description |
---|---|
name
|
O nome do campo, que deve ser exclusivo dentro da coleção de campos do índice ou campo pai. Obrigatórios. |
type
|
str ou
<xref:search_service_client.models.SearchFieldDataType>
O tipo de dados do campo. Obrigatórios. Os valores conhecidos são: "Edm.String", "Edm.Int32", "Edm.Int64", "Edm.Double", "Edm.Boolean", "Edm.DateTimeOffset", "Edm.GeographyPoint", "Edm.ComplexType" e "Edm.Single". |
key
|
Um valor que indica se o campo identifica exclusivamente documentos no índice. Exatamente um campo de nível superior em cada índice deve ser escolhido como o campo de chave e deve ser do tipo Edm.String. Os campos de chave podem ser usados para pesquisar documentos diretamente e atualizar ou excluir documentos específicos. O padrão é false para campos simples e nulo para campos complexos. |
searchable
|
Um valor que indica se o campo é pesquisável por texto completo. Isso significa que ele será submetido a análise, como separação de palavras, durante a indexação. Se você definir um campo pesquisável com um valor como “dia ensolarado”, internamente, ele será dividido nos tokens individuais “dia” e “ensolarado”. Isso habilita pesquisas de texto completo para esses termos. Os campos do tipo Edm.String ou Collection(Edm.String) são pesquisáveis por padrão. Essa propriedade deve ser falsa para campos simples de outros tipos de dados que não são de cadeia de caracteres e deve ser nula para campos complexos. Observação: os campos pesquisáveis consomem espaço extra no índice, pois Azure Cognitive Search armazenará uma versão adicional com tokens do valor do campo para pesquisas de texto completo. Se você quiser economizar espaço em seu índice e não precisar que um campo seja incluído nas pesquisas, defina pesquisável como false. |
filterable
|
Um valor que indica se o campo deve ser referenciado em consultas $filter. filterable difere do pesquisável em como as cadeias de caracteres são tratadas. Os campos do tipo Edm.String ou Collection(Edm.String) que são filtráveis não passam por quebra de palavras, portanto, as comparações são apenas para correspondências exatas. Por exemplo, se você definir esse campo f como "dia ensolarado", $filter=f eq 'sunny' não encontrará correspondências, mas $filter=f eq 'sunny day' vai. Essa propriedade deve ser nula para campos complexos. O padrão é true para campos simples e nulos para campos complexos. |
sortable
|
Um valor que indica se o campo deve ser referenciado em expressões $orderby. Por padrão, Azure Cognitive Search classifica os resultados por pontuação, mas em muitas experiências os usuários desejarão classificar por campos nos documentos. Um campo simples só poderá ser classificado se for de valor único (ele tem um único valor no escopo do documento pai). Campos de coleção simples não podem ser classificados, pois são de vários valores. Subcampos simples de coleções complexas também têm vários valores e, portanto, não podem ser classificados. Isso é verdade, seja um campo pai imediato ou um campo ancestral, que é a coleção complexa. Campos complexos não podem ser classificáveis e a propriedade classificável deve ser nula para esses campos. O padrão para classificável é true para campos simples de valor único, false para campos simples com valores múltiplos e nulo para campos complexos. |
facetable
|
Um valor que indica se o campo deve ser referenciado em consultas de faceta. Normalmente usado em uma apresentação de resultados de pesquisa que inclui contagem de ocorrências por categoria (por exemplo, pesquise câmeras digitais e veja ocorrências por marca, por megapixels, por preço e assim por diante). Essa propriedade deve ser nula para campos complexos. Os campos do tipo Edm.GeographyPoint ou Collection(Edm.GeographyPoint) não podem ser facetáveis. O padrão é true para todos os outros campos simples. |
analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
O nome do analisador a ser usado para o campo. Essa opção pode ser usada somente com campos pesquisáveis e não pode ser definida com searchAnalyzer ou indexAnalyzer. Depois que o analisador for escolhido, ele não poderá ser alterado para o campo. Deve ser nulo para campos complexos. Os valores conhecidos são: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh-Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft ", "cs.microsoft", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", "gl.lucene", "de.microsoft", "de.lucene", " el.microsoft", "el.lucene", "gu.microsoft", "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft" ", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", " pt-PT.microsoft", "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr-cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", "es.lucene", "svv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "your.microsoft", "vi.microsoft", "standard.lucene", "standardasciifolding.lucene", "palavra-chave", "padrão", "simples", "parar" e "espaço em branco". |
search_analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
O nome do analisador usado no tempo de pesquisa para o campo. Essa opção só pode ser usada com campos pesquisáveis. Ele deve ser definido junto com indexAnalyzer e não pode ser definido junto com a opção do analisador. Essa propriedade não pode ser definida como o nome de um analisador de idioma; use a propriedade analyzer se você precisar de um analisador de linguagem. Esse analisador pode ser atualizado em um campo existente. Deve ser nulo para campos complexos. Os valores conhecidos são: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh-Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft ", "cs.microsoft", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", "gl.lucene", "de.microsoft", "de.lucene", " el.microsoft", "el.lucene", "gu.microsoft", "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft" ", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", " pt-PT.microsoft", "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr-cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", "es.lucene", "svv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "your.microsoft", "vi.microsoft", "standard.lucene", "standardasciifolding.lucene", "palavra-chave", "padrão", "simples", "parar" e "espaço em branco". |
index_analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
O nome do analisador usado no momento da indexação do campo. Essa opção só pode ser usada com campos pesquisáveis. Ele deve ser definido junto com searchAnalyzer e não pode ser definido junto com a opção do analisador. Essa propriedade não pode ser definida como o nome de um analisador de idioma; use a propriedade analyzer se você precisar de um analisador de linguagem. Depois que o analisador for escolhido, ele não poderá ser alterado para o campo. Deve ser nulo para campos complexos. Os valores conhecidos são: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh-Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft ", "cs.microsoft", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", "gl.lucene", "de.microsoft", "de.lucene", " el.microsoft", "el.lucene", "gu.microsoft", "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft" ", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", " pt-PT.microsoft", "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr-cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", "es.lucene", "svv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "your.microsoft", "vi.microsoft", "standard.lucene", "standardasciifolding.lucene", "palavra-chave", "padrão", "simples", "parar" e "espaço em branco". |
vector_search_dimensions
|
A dimensionalidade do campo de vetor. |
vector_search_profile_name
|
O nome do perfil de pesquisa de vetor que especifica o algoritmo a ser usado ao pesquisar o campo de vetor. |
synonym_map_names
|
Uma lista dos nomes dos mapas de sinônimos a serem associados a esse campo. Essa opção só pode ser usada com campos pesquisáveis. Atualmente, há suporte para apenas um mapa de sinônimos por campo. Atribuir um mapa de sinônimos a um campo garante que os termos de consulta direcionados a esse campo sejam expandidos em tempo de consulta usando as regras no mapa de sinônimos. Esse atributo pode ser alterado em campos existentes. Deve ser nulo ou uma coleção vazia para campos complexos. |
fields
|
list[<xref:search_service_client.models.SearchField>]
Uma lista de subcampos se este for um campo do tipo Edm.ComplexType ou Collection(Edm.ComplexType). Deve ser nulo ou vazio para campos simples. |
Métodos
as_dict |
Retornar um dict que pode ser serializado usando json.dump. Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro: Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto . A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico. Confira os três exemplos neste arquivo:
Se você quiser serialização XML, poderá passar os kwargs is_xml=True. |
deserialize |
Analise um str usando a sintaxe RestAPI e retorne um modelo. |
enable_additional_properties_sending | |
from_dict |
Analisar um ditado usando determinado extrator de chave retorna um modelo. Por padrão, considere extratores de chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Retorne o JSON que seria enviado para o servidor desse modelo. Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False). Se você quiser serialização XML, poderá passar os kwargs is_xml=True. |
as_dict
Retornar um dict que pode ser serializado usando json.dump.
Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro:
Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto .
A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico.
Confira os três exemplos neste arquivo:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Se você quiser serialização XML, poderá passar os 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]
Parâmetros
Nome | Description |
---|---|
key_transformer
|
<xref:function>
Uma função de transformador de chave. |
keep_readonly
|
valor padrão: True
|
Retornos
Tipo | Description |
---|---|
Um objeto compatível com JSON de dict |
deserialize
Analise um str usando a sintaxe RestAPI e retorne um modelo.
deserialize(data: Any, content_type: str | None = None) -> ModelType
Parâmetros
Nome | Description |
---|---|
data
Obrigatório
|
Um str usando a estrutura RestAPI. JSON por padrão. |
content_type
|
JSON por padrão, defina application/xml se XML. valor padrão: None
|
Retornos
Tipo | Description |
---|---|
Uma instância desse modelo |
Exceções
Tipo | Description |
---|---|
DeserializationError if something went wrong
|
enable_additional_properties_sending
enable_additional_properties_sending() -> None
from_dict
Analisar um ditado usando determinado extrator de chave retorna um modelo.
Por padrão, considere extratores de chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e 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
Parâmetros
Nome | Description |
---|---|
data
Obrigatório
|
Um ditado usando a estrutura RestAPI |
content_type
|
JSON por padrão, defina application/xml se XML. valor padrão: None
|
key_extractors
|
valor padrão: None
|
Retornos
Tipo | Description |
---|---|
Uma instância desse modelo |
Exceções
Tipo | Description |
---|---|
DeserializationError if something went wrong
|
is_xml_model
is_xml_model() -> bool
serialize
Retorne o JSON que seria enviado para o servidor desse modelo.
Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False).
Se você quiser serialização XML, poderá passar os kwargs is_xml=True.
serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]
Parâmetros
Nome | Description |
---|---|
keep_readonly
|
Se você quiser serializar os atributos somente leitura valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Um objeto compatível com JSON de dict |
Azure SDK for Python