Partilhar via


SearchField Classe

Representa um campo numa 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 têm de ser preenchidos para enviar para o Azure.

Herança
azure.search.documents.indexes._generated._serialization.Model
SearchField

Construtor

SearchField(**kwargs)

Variáveis

Name Description
name
str

O nome do campo, que tem de ser exclusivo na coleção de campos do campo principal ou índice. Obrigatório.

type
str ou <xref:search_service_client.models.SearchFieldDataType>

O tipo de dados do campo. Obrigatório. 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 tem de ser escolhido como o campo de chave e tem de ser do tipo Edm.String. Os campos de chave podem ser utilizados para procurar documentos diretamente e atualizar ou eliminar documentos específicos. A predefinição é falso para campos simples e nulo para campos complexos.

searchable

Um valor que indica se o campo é pesquisável em texto completo. Isto significa que será submetido a uma análise, como quebra de palavras durante a indexação. Se definir um campo pesquisável para um valor como "sunny day", será dividido internamente nos tokens individuais "sunny" e "day". Isto permite pesquisas em texto completo para estes termos. Os campos do tipo Edm.String ou Collection(Edm.String) são pesquisáveis por predefinição. Esta propriedade tem de ser falsa para campos simples de outros tipos de dados sem cadeia e tem de ser nula para campos complexos. Nota: os campos pesquisáveis consomem espaço extra no índice, uma vez que Azure Cognitive Search armazenará uma versão token adicional do valor do campo para pesquisas de texto completo. Se quiser poupar espaço no índice e não precisar que um campo seja incluído nas pesquisas, defina pesquisável como falso.

filterable

Um valor que indica se o campo deve ser referenciado em consultas $filter. filtráveis difere do pesquisável na forma como as cadeias são processadas. Os campos do tipo Edm.String ou Collection(Edm.String) que são filtráveis não são submetidos a quebras de palavras, pelo que as comparações destinam-se apenas a correspondências exatas. Por exemplo, se definir tal campo f como "dia ensolarado", $filter=f eq "ensolarado" não encontrará correspondências, mas $filter=f eq "dia ensolarado" irá. Esta propriedade tem de ser nula para campos complexos. A predefinição é verdadeira para campos simples e nulo para campos complexos.

sortable

Um valor que indica se o campo deve ser referenciado em expressões $orderby. Por predefinição, Azure Cognitive Search ordena os resultados por classificação, mas em muitas experiências os utilizadores vão querer ordenar por campos nos documentos. Um campo simples só pode ser ordenado se for de valor único (tem um único valor no âmbito do documento principal). Os campos de coleção simples não podem ser ordenados, uma vez que são de valores múltiplos. Os subdomissões simples de coleções complexas também têm valores múltiplos e, por conseguinte, não podem ser ordenados. Isto é verdade, quer se trate de um campo principal imediato, ou de um campo predecessor, que é a coleção complexa. Os campos complexos não podem ser ordenados e a propriedade ordenável tem de ser nula para esses campos. A predefinição para ordenável é verdadeira para campos simples de valor único, falso para campos simples de valores múltiplos e nulo para campos complexos.

facetable

Um valor que indica se o campo deve ser referenciado em consultas de facetas. Normalmente utilizado numa apresentação de resultados de pesquisa que inclui a contagem de resultados por categoria (por exemplo, procure câmaras digitais e veja acessos por marca, por megapixéis, por preço, etc.). Esta propriedade tem de ser nula para campos complexos. Os campos do tipo Edm.GeographyPoint ou Collection(Edm.GeographyPoint) não podem ser facetáveis. A predefinição é verdadeira para todos os outros campos simples.

analyzer_name
str ou <xref:search_service_client.models.LexicalAnalyzerName>

O nome do analisador a utilizar para o campo. Esta opção só pode ser utilizada com campos pesquisáveis e não pode ser definida em conjunto com searchAnalyzer ou indexAnalyzer. Depois de o analisador ser escolhido, não pode ser alterado para o campo. Tem de 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.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", "sv.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", "keyword", "pattern", "simple", "stop" e " espaço em branco".

search_analyzer_name
str ou <xref:search_service_client.models.LexicalAnalyzerName>

O nome do analisador utilizado no momento da pesquisa do campo. Esta opção só pode ser utilizada com campos pesquisáveis. Tem de ser definido em conjunto com o indexAnalyzer e não pode ser definido em conjunto com a opção analisador. Esta propriedade não pode ser definida como o nome de um analisador de idiomas; utilize a propriedade analyzer se precisar de um analisador de idiomas. Este analisador pode ser atualizado num campo existente. Tem de 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.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", "sv.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", "keyword", "pattern", "simple", "stop" e " espaço em branco".

index_analyzer_name
str ou <xref:search_service_client.models.LexicalAnalyzerName>

O nome do analisador utilizado no momento da indexação do campo. Esta opção só pode ser utilizada com campos pesquisáveis. Tem de ser definido em conjunto com searchAnalyzer e não pode ser definido em conjunto com a opção analisador. Esta propriedade não pode ser definida como o nome de um analisador de idiomas; utilize a propriedade analyzer se precisar de um analisador de idiomas. Depois de o analisador ser escolhido, não pode ser alterado para o campo. Tem de 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.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", "sv.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", "keyword", "pattern", "simple", "stop" 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 utilizar ao procurar no campo de vetor.

synonym_map_names

Uma lista dos nomes dos mapas de sinónimos a associar a este campo. Esta opção só pode ser utilizada com campos pesquisáveis. Atualmente, só é suportado um mapa de sinónimos por campo. A atribuição de um mapa de sinónimos a um campo garante que os termos de consulta destinados a esse campo são expandidos no momento da consulta através das regras no mapa de sinónimos. Este atributo pode ser alterado em campos existentes. Tem de ser nulo ou uma coleção vazia para campos complexos.

fields
list[<xref:search_service_client.models.SearchField>]

Uma lista de subdomínios se este for um campo do tipo Edm.ComplexType ou Collection(Edm.ComplexType). Tem de ser nulo ou estar vazio para campos simples.

Métodos

as_dict

Devolver um ditado que pode ser serializado com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

enable_additional_properties_sending
from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Devolver o JSON que seria enviado para o servidor a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

as_dict

Devolver um ditado que pode ser serializado com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode transmitir 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

Name Description
key_transformer
<xref:function>

Uma função de transformador de chaves.

keep_readonly
valor predefinido: True

Devoluções

Tipo Description

Um objeto compatível com JSON de ditado

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

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

Parâmetros

Name Description
data
Necessário
str

Um str com a estrutura RestAPI. JSON por predefinição.

content_type
str

JSON por predefinição, defina application/xml se XML.

valor predefinido: None

Devoluções

Tipo Description

Uma instância deste modelo

Exceções

Tipo Description
DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending() -> None

from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores 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

Name Description
data
Necessário

Um ditado com a estrutura restAPI

content_type
str

JSON por predefinição, defina application/xml se XML.

valor predefinido: None
key_extractors
valor predefinido: None

Devoluções

Tipo Description

Uma instância deste modelo

Exceções

Tipo Description
DeserializationError if something went wrong

is_xml_model

is_xml_model() -> bool

serialize

Devolver o JSON que seria enviado para o servidor a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

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

Parâmetros

Name Description
keep_readonly

Se quiser serializar os atributos só de leitura

valor predefinido: False

Devoluções

Tipo Description

Um objeto compatível com JSON de ditado