Compartilhar via


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.Model
SearchField

Construtor

SearchField(**kwargs)

Variáveis

Nome Description
name
str

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
int

A dimensionalidade do campo de vetor.

vector_search_profile_name
str

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:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

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
str

Um str usando a estrutura RestAPI. JSON por padrão.

content_type
str

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
str

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