SearchField Classe
Représente un champ dans une définition d’index, qui décrit le nom, le type de données et le comportement de recherche d’un champ.
Tous les paramètres requis doivent être renseignés pour pouvoir être envoyés à Azure.
- Héritage
-
azure.search.documents.indexes._generated._serialization.ModelSearchField
Constructeur
SearchField(**kwargs)
Variables
Nom | Description |
---|---|
name
|
Nom du champ, qui doit être unique dans la collection fields du champ d’index ou du champ parent. Obligatoire. |
type
|
str ou
<xref:search_service_client.models.SearchFieldDataType>
Type de données du champ. Obligatoire. Les valeurs connues sont : « Edm.String », « Edm.Int32 », « Edm.Int64 », « Edm.Double », « Edm.Boolean », « Edm.DateTimeOffset », « Edm.GeographyPoint », « Edm.ComplexType » et « Edm.Single ». |
key
|
Valeur indiquant si le champ identifie de manière unique les documents dans l’index. Exactement un champ de niveau supérieur dans chaque index doit être choisi comme champ clé et il doit être de type Edm.String. Les champs clés peuvent être utilisés pour rechercher directement des documents et mettre à jour ou supprimer des documents spécifiques. La valeur par défaut est false pour les champs simples et null pour les champs complexes. |
searchable
|
Valeur indiquant si le champ peut faire l’objet d’une recherche en texte intégral. Cela signifie qu'il fera l'objet d'une analyse, par exemple lexicale, lors de l'indexation. Si vous définissez un champ avec possibilité de recherche sur une valeur comme « journée ensoleillée », cette valeur est fractionnée au niveau interne en jetons individuels « journée » et « ensoleillée ». Cela permet d'effectuer des recherches en texte intégral de ces termes. Les champs de type Edm.String ou Collection(Edm.String) peuvent faire l’objet d’une recherche par défaut. Cette propriété doit avoir la valeur false pour les champs simples d’autres types de données autres que les chaînes, et elle doit être null pour les champs complexes. Remarque : les champs pouvant faire l’objet d’une recherche consomment de l’espace supplémentaire dans votre index, car Recherche cognitive Azure stockera une version tokenisée supplémentaire de la valeur de champ pour les recherches en texte intégral. Si vous souhaitez économiser de l’espace dans votre index et que vous n’avez pas besoin d’inclure un champ dans les recherches, définissez rechercheable sur false. |
filterable
|
Valeur indiquant si le champ doit être référencé dans $filter requêtes. filterable diffère de l’objet de recherche dans la façon dont les chaînes sont gérées. Les champs de type Edm.String ou Collection(Edm.String) qui sont filtrables ne sont pas filtrés, de sorte que les comparaisons sont destinées à des correspondances exactes uniquement. Par exemple, si vous définissez un champ f sur « jour ensoleillé », $filter=f eq 'sunny' ne trouvera aucune correspondance, mais $filter=f eq 'sunny day' le fera. Cette propriété doit être null pour les champs complexes. La valeur par défaut est true pour les champs simples et null pour les champs complexes. |
sortable
|
Valeur indiquant si le champ doit être référencé dans $orderby expressions. Par défaut, Recherche cognitive Azure trie les résultats par score, mais dans de nombreuses expériences, les utilisateurs souhaitent trier par champs dans les documents. Un champ simple ne peut être triable que s’il a une valeur unique (il a une valeur unique dans l’étendue du document parent). Les champs de collection simples ne peuvent pas être triables, car ils sont à valeurs multiples. Les sous-champs simples des collections complexes sont également à valeurs multiples et ne peuvent donc pas être triables. Cela est vrai, qu’il s’agisse d’un champ parent immédiat ou d’un champ ancêtre, il s’agit de la collection complexe. Les champs complexes ne peuvent pas être triables et la propriété triable doit avoir la valeur Null pour ces champs. La valeur par défaut pour triable est true pour les champs simples à valeur unique, false pour les champs simples à valeurs multiples et null pour les champs complexes. |
facetable
|
Valeur indiquant s’il faut activer le champ à référencer dans les requêtes à facettes. Généralement utilisé dans une présentation des résultats de recherche qui inclut le nombre d’accès par catégorie (par exemple, rechercher des appareils photo numériques et voir les résultats par marque, par mégapixels, par prix, etc.). Cette propriété doit être null pour les champs complexes. Les champs de type Edm.GeographyPoint ou Collection(Edm.GeographyPoint) ne peuvent pas être facetables. La valeur par défaut est true pour tous les autres champs simples. |
analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
Nom de l’analyseur à utiliser pour le champ. Cette option n’est utilisable qu’avec les champs pouvant faire l’objet d’une recherche ; elle ne peut être associée ni à searchAnalyzer ni à indexAnalyzer. Une fois l'analyseur choisi, il ne peut pas être modifié pour le champ. Doit être null pour les champs complexes. Les valeurs connues sont : « 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 », « 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.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 », « mot clé« , « pattern », « simple », « stop » et « whitespace ». |
search_analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
Nom de l’analyseur utilisé au moment de la recherche pour le champ. Cette option peut être utilisée uniquement avec les champs pouvant faire l’objet d’une recherche. Il doit être défini avec indexAnalyzer et ne peut pas être défini avec l’option d’analyseur. Cette propriété ne peut pas être définie sur le nom d’un analyseur de langage ; utilisez plutôt la propriété analyzer si vous avez besoin d’un analyseur de langage. Cet analyseur peut être mis à jour sur un champ existant. Doit être null pour les champs complexes. Les valeurs connues sont : « 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 », « 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.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 », « mot clé« , « pattern », « simple », « stop » et « whitespace ». |
index_analyzer_name
|
str ou
<xref:search_service_client.models.LexicalAnalyzerName>
Nom de l’analyseur utilisé au moment de l’indexation pour le champ. Cette option peut être utilisée uniquement avec les champs pouvant faire l’objet d’une recherche. Il doit être défini avec searchAnalyzer et ne peut pas être défini avec l’option d’analyseur. Cette propriété ne peut pas être définie sur le nom d’un analyseur de langage ; utilisez plutôt la propriété analyzer si vous avez besoin d’un analyseur de langage. Une fois l'analyseur choisi, il ne peut pas être modifié pour le champ. Doit être null pour les champs complexes. Les valeurs connues sont : « 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 », « 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.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 », « mot clé« , « pattern », « simple », « stop » et « whitespace ». |
vector_search_dimensions
|
Dimensionnalité du champ vectoriel. |
vector_search_profile_name
|
Nom du profil de recherche vectorielle qui spécifie l’algorithme à utiliser lors de la recherche dans le champ vectoriel. |
synonym_map_names
|
Liste des noms des mappages de synonymes à associer à ce champ. Cette option peut être utilisée uniquement avec les champs pouvant faire l’objet d’une recherche. Actuellement, une seule carte de synonymes par champ est prise en charge. L’affectation d’un mappage de synonymes à un champ garantit que les termes de requête ciblant ce champ sont développés au moment de la requête à l’aide des règles du mappage de synonymes. Cet attribut peut être modifié sur les champs existants. Doit être null ou une collection vide pour les champs complexes. |
fields
|
list[<xref:search_service_client.models.SearchField>]
Liste de sous-champs s’il s’agit d’un champ de type Edm.ComplexType ou Collection(Edm.ComplexType). Doit être null ou vide pour les champs simples. |
Méthodes
as_dict |
Retourne un dictée qui peut être sérialisé à l’aide de json.dump. L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre : La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet. La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique. Consultez les trois exemples de ce fichier :
Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True. |
deserialize |
Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle. |
enable_additional_properties_sending | |
from_dict |
L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle. Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Retourne le json qui serait envoyé au serveur à partir de ce modèle. Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False). Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True. |
as_dict
Retourne un dictée qui peut être sérialisé à l’aide de json.dump.
L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :
La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet.
La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique.
Consultez les trois exemples de ce fichier :
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Si vous souhaitez une sérialisation XML, vous pouvez passer les 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]
Paramètres
Nom | Description |
---|---|
key_transformer
|
<xref:function>
Fonction de transformateur de clé. |
keep_readonly
|
valeur par défaut: True
|
Retours
Type | Description |
---|---|
Objet compatible JSON de dict |
deserialize
Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle.
deserialize(data: Any, content_type: str | None = None) -> ModelType
Paramètres
Nom | Description |
---|---|
data
Obligatoire
|
Str utilisant la structure RestAPI. JSON par défaut. |
content_type
|
JSON par défaut, définissez application/xml si XML. valeur par défaut: None
|
Retours
Type | Description |
---|---|
Une instance de ce modèle |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
enable_additional_properties_sending
enable_additional_properties_sending() -> None
from_dict
L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle.
Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et 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
Paramètres
Nom | Description |
---|---|
data
Obligatoire
|
Dict utilisant la structure RestAPI |
content_type
|
JSON par défaut, définissez application/xml si XML. valeur par défaut: None
|
key_extractors
|
valeur par défaut: None
|
Retours
Type | Description |
---|---|
Une instance de ce modèle |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
is_xml_model
is_xml_model() -> bool
serialize
Retourne le json qui serait envoyé au serveur à partir de ce modèle.
Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).
Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.
serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]
Paramètres
Nom | Description |
---|---|
keep_readonly
|
Si vous souhaitez sérialiser les attributs readonly valeur par défaut: False
|
Retours
Type | Description |
---|---|
Objet compatible JSON de dict |
Azure SDK for Python