SearchField Classe

Rappresenta un campo in una definizione di indice, che descrive il nome, il tipo di dati e il comportamento di ricerca di un campo.

Tutti i parametri obbligatori devono essere popolati per l'invio ad Azure.

Ereditarietà
azure.search.documents.indexes._generated._serialization.Model
SearchField

Costruttore

SearchField(**kwargs)

Variabili

Nome Descrizione
name
str

Nome del campo, che deve essere univoco all'interno dell'insieme fields dell'indice o del campo padre. Obbligatorio.

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

Tipo di dati del campo. Obbligatorio. I valori noti sono: "Edm.String", "Edm.Int32", "Edm.Int64", "Edm.Double", "Edm.Boolean", "Edm.DateTimeOffset", "Edm.GeographyPoint", "Edm.ComplexType" e "Edm.Single".

key

Valore che indica se il campo identifica in modo univoco i documenti nell'indice. È necessario scegliere esattamente un campo di primo livello in ogni indice come campo chiave e deve essere di tipo Edm.String. I campi chiave possono essere usati per cercare direttamente i documenti e aggiornarli o eliminarli. Il valore predefinito è false per i campi semplici e Null per i campi complessi.

searchable

Valore che indica se il campo è ricercabile full-text. Ciò significa che verrà sottoposto ad analisi, ad esempio la suddivisione in parole durante l'indicizzazione. Se si imposta un campo ricercabile su un valore come "sunny day", questo viene suddiviso internamente nei singoli token "sunny" e "day". È così possibile eseguire ricerche full-text di questi termini. I campi di tipo Edm.String o Collection(Edm.String) sono ricercabili per impostazione predefinita. Questa proprietà deve essere false per i campi semplici di altri tipi di dati non stringa e deve essere Null per i campi complessi. Nota: i campi ricercabili utilizzano spazio aggiuntivo nell'indice perché Ricerca cognitiva di Azure archivierà una versione tokenizzata aggiuntiva del valore del campo per le ricerche full-text. Se si vuole risparmiare spazio nell'indice e non è necessario includere un campo nelle ricerche, impostare searchable su false.

filterable

Valore che indica se abilitare il riferimento al campo nelle query $filter. filtrabile differisce da ricercabile in quanto vengono gestite le stringhe. I campi di tipo Edm.String o Collection(Edm.String) che sono filtrabili non subiscono un'interruzione delle parole, quindi i confronti sono solo per corrispondenze esatte. Ad esempio, se si imposta tale campo f su "sunny day", $filter=f eq 'sunny' non troverà corrispondenze, ma $filter=f eq 'sunny day' will. Questa proprietà deve essere Null per i campi complessi. Il valore predefinito è true per i campi semplici e Null per i campi complessi.

sortable

Valore che indica se abilitare il riferimento al campo nelle espressioni $orderby. Per impostazione predefinita, Ricerca cognitiva di Azure ordina i risultati in base al punteggio, ma in molte esperienze gli utenti vogliono ordinare in base ai campi nei documenti. Un campo semplice può essere ordinato solo se è a valore singolo (ha un singolo valore nell'ambito del documento padre). I campi di raccolta semplici non possono essere ordinabili, perché sono multivalore. I campi secondari semplici delle raccolte complesse sono anche multivalore e pertanto non possono essere ordinabili. Questo vale se si tratta di un campo padre immediato o di un campo predecessore, che è la raccolta complessa. I campi complessi non possono essere ordinabili e la proprietà ordinabile deve essere Null per tali campi. Il valore predefinito per ordinabile è true per i campi semplici con valori singoli, false per i campi semplici multivalore e Null per i campi complessi.

facetable

Valore che indica se abilitare il riferimento al campo nelle query facet. In genere usato in una presentazione dei risultati della ricerca che include il numero di riscontri per categoria (ad esempio, cercare fotocamere digitali e vedere i riscontri per marchio, per impostazione predefinita, per prezzo e così via). Questa proprietà deve essere Null per i campi complessi. I campi di tipo Edm.GeographyPoint o Collection(Edm.GeographyPoint) non possono essere visibili. Il valore predefinito è true per tutti gli altri campi semplici.

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

Nome dell'analizzatore da utilizzare per il campo. Questa opzione può essere usata solo con campi ricercabili e non può essere impostata con searchAnalyzer o indexAnalyzer. Una volta scelto, l'analizzatore non può essere cambiato per il campo. Deve essere Null per i campi complessi. I valori noti sono: "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", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "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 " spazi vuoti".

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

Nome dell'analizzatore utilizzato in fase di ricerca per il campo. Questa opzione può essere usata solo con i campi ricercabili. Deve essere impostato insieme a indexAnalyzer e non può essere impostato insieme all'opzione analizzatore. Questa proprietà non può essere impostata sul nome di un analizzatore del linguaggio; usare invece la proprietà analyzer se è necessario un analizzatore del linguaggio. Questo analizzatore può essere aggiornato per un campo esistente. Deve essere Null per i campi complessi. I valori noti sono: "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", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "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 " spazi vuoti".

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

Nome dell'analizzatore utilizzato in fase di indicizzazione per il campo. Questa opzione può essere usata solo con i campi ricercabili. Deve essere impostato insieme a searchAnalyzer e non può essere impostato insieme all'opzione analizzatore. Questa proprietà non può essere impostata sul nome di un analizzatore del linguaggio; usare invece la proprietà analyzer se è necessario un analizzatore del linguaggio. Una volta scelto, l'analizzatore non può essere cambiato per il campo. Deve essere Null per i campi complessi. I valori noti sono: "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", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "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 " spazi vuoti".

vector_search_dimensions
int

Dimensionalità del campo vettore.

vector_search_profile_name
str

Nome del profilo di ricerca vettoriale che specifica l'algoritmo da utilizzare durante la ricerca nel campo del vettore.

synonym_map_names

Elenco dei nomi delle mappe di sinonimi da associare a questo campo. Questa opzione può essere usata solo con i campi ricercabili. Attualmente è supportata una sola mappa sinonimia per campo. L'assegnazione di una mappa sinonimo a un campo garantisce che i termini di query destinati a tale campo vengano espansi in fase di query usando le regole nella mappa dei sinonimi. Questo attributo può essere modificato nei campi esistenti. Deve essere Null o una raccolta vuota per i campi complessi.

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

Elenco di sottocampi se si tratta di un campo di tipo Edm.ComplexType o Collection(Edm.ComplexType). Deve essere null o vuoto per i campi semplici.

Metodi

as_dict

Restituisce un dict che può essere serializzato usando json.dump.

L'utilizzo avanzato può facoltativamente usare un callback come parametro:

Key è il nome dell'attributo usato in Python. Attr_desc è un dict di metadati. Attualmente contiene 'type' con il tipo msrest e 'key' con la chiave con codifica RestAPI. Value è il valore corrente in questo oggetto.

La stringa restituita verrà utilizzata per serializzare la chiave. Se il tipo restituito è un elenco, si tratta di un risultato gerarchico dict.

Vedere i tre esempi in questo file:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se si desidera la serializzazione XML, è possibile passare i kwargs is_xml=True.

deserialize

Analizzare uno str usando la sintassi RestAPI e restituire un modello.

enable_additional_properties_sending
from_dict

Analizzare un dict usando un estrattore di chiave specificato restituisce un modello.

Per impostazione predefinita, considerare gli estrattori di chiave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Restituisce il codice JSON che verrebbe inviato al server da questo modello.

Si tratta di un alias per as_dict(full_restapi_key_transformer, keep_readonly=False).

Se si desidera la serializzazione XML, è possibile passare i kwargs is_xml=True.

as_dict

Restituisce un dict che può essere serializzato usando json.dump.

L'utilizzo avanzato può facoltativamente usare un callback come parametro:

Key è il nome dell'attributo usato in Python. Attr_desc è un dict di metadati. Attualmente contiene 'type' con il tipo msrest e 'key' con la chiave con codifica RestAPI. Value è il valore corrente in questo oggetto.

La stringa restituita verrà utilizzata per serializzare la chiave. Se il tipo restituito è un elenco, si tratta di un risultato gerarchico dict.

Vedere i tre esempi in questo file:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se si desidera la serializzazione XML, è possibile passare i 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]

Parametri

Nome Descrizione
key_transformer
<xref:function>

Funzione di trasformatore di tasti.

keep_readonly
valore predefinito: True

Restituisce

Tipo Descrizione

Oggetto compatibile con JSON dict

deserialize

Analizzare uno str usando la sintassi RestAPI e restituire un modello.

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

Parametri

Nome Descrizione
data
Necessario
str

Str che usa la struttura RestAPI. JSON per impostazione predefinita.

content_type
str

JSON per impostazione predefinita, impostare application/xml se XML.

valore predefinito: None

Restituisce

Tipo Descrizione

Istanza di questo modello

Eccezioni

Tipo Descrizione
DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending() -> None

from_dict

Analizzare un dict usando un estrattore di chiave specificato restituisce un modello.

Per impostazione predefinita, considerare gli estrattori di chiave (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

Parametri

Nome Descrizione
data
Necessario

Oggetto dict using RestAPI structure (Struttura RESTAPI)

content_type
str

JSON per impostazione predefinita, impostare application/xml se XML.

valore predefinito: None
key_extractors
valore predefinito: None

Restituisce

Tipo Descrizione

Istanza di questo modello

Eccezioni

Tipo Descrizione
DeserializationError if something went wrong

is_xml_model

is_xml_model() -> bool

serialize

Restituisce il codice JSON che verrebbe inviato al server da questo modello.

Si tratta di un alias per as_dict(full_restapi_key_transformer, keep_readonly=False).

Se si desidera la serializzazione XML, è possibile passare i kwargs is_xml=True.

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

Parametri

Nome Descrizione
keep_readonly

Se si desidera serializzare gli attributi readonly

valore predefinito: False

Restituisce

Tipo Descrizione

Oggetto compatibile con JSON dict