Doc produitsMenu

Requêtes de champ avancées

La syntaxe de requête Coveo contient des opérateurs de champ spéciaux qui effectuent des types avancés de correspondances.

La syntaxe de requête de champ avancée est :

@fieldname [Advanced_field_operator] "value"

où les espaces à chaque côté de l'opérateur sont facultatifs.

Opérateur de champ avancé Description
*= Correspondance de caractères de remplacement
~= Correspondance d'expressions approximatives
%= Correspondance phonétique
/= Correspondance d'expressions régulières

Les requêtes de champ avancées effectuent la correspondance directement dans les valeurs de champ, pas par l'index comme pour les requêtes de champ normales (voir Champs de requête). Par conséquent, un avantage intéressant des requêtes de champ avancées est que vous pouvez rechercher, dans des valeurs de champ, des occurrences de caractères spéciaux qui sont, normalement, impossibles à rechercher, car elles ne sont pas indexées et peuvent agir comme préfixes ou opérateurs de recherche (voir Utilisation de caractères spéciaux dans les requêtes et Préfixes et opérateurs de recherche).

Exemple : Avec des requêtes de champ avancées, vous pouvez rechercher, dans les valeurs de champ, des chaînes qui contiennent des points, des tirets, des barres obliques, des parenthèses, des crochets, des symboles de devises, etc.

Exigences

  • Les requêtes de champ avancées exigent que le champ recherché soit un champ de facette (voir Ajout d'un champ de facette).

  • Le champ value doit être entre guillemets.

Notes :

  • La syntaxe pour les requêtes de champ avancées d'expressions de remplacement, approximatives, phonétiques et régulières est prise en charge à partir de CES 7.0.6196 (novembre 2013).

  • Les résultats de recherche pour des requêtes de champ avancées seront habituellement retournés en une seule seconde, à l'instar des requêtes normales. Ils peuvent toutefois prendre davantage de temps lorsque le nombre de documents, le nombre de valeurs de champ possibles et la complexité de l'expression correspondante (particulièrement pour les expressions régulières) augmentent, ou lorsque les valeurs de champ ne sont pas chargées dans la mémoire cache.

  • Les requêtes de champ avancées d'expressions de remplacement, approximatives, phonétiques et régulières ne sont pas sensibles à la casse et ne sont pas sujettes à l'expansion par radicaux (voir À propos de l'indexation par radicaux).

Correspondance de caractères de remplacement

L'opérateur de champ avancé pour les expressions de remplacement (*=) interprète les caractères de remplacement (?,*) qui sont présents dans la valeur sans les restrictions qui sont appliquées normalement lorsque vous utilisez des caractères de remplacement dans une requête qui s'applique à l'index entier (voir Utilisation des opérateurs de recherche dans les requêtes). Vous pouvez ainsi utiliser autant d'occurrences de caractères de remplacement n'importe où dans la valeur et toutes les combinaisons possibles seront mises en correspondance.

Requête de champ de caractère de remplacement

Les correspondances de caractères de remplacement sont utiles pour élargir les résultats de recherche avec de la variabilité dans les emplacements spécifiques de chaînes de requêtes.

Exemples :

  • @author *= "*smith"

    Vous pouvez avoir un caractère de remplacement au début de la valeur, qui correspond à tout prénom ou abréviation de prénom.

  • @filename *= "*.mp?"

    Correspond à tout nom de fichier MP3 ou MP4.

  • @title *= "colo*r"

    Correspond à des titres avec les épellations color et colour.

Correspondance d'expressions approximatives

L'opérateur de champ avancé pour la correspondance de caractères approximatifs (~=) recherche des valeurs qui sont approximativement les mêmes que la valeur recherchée en permettant à un échantillon raisonnable (approximativement 20%) de caractères recherchés d'être différents, manquants ou ajoutés.

Exemples :

  • @syslanguage ~= "lituanian"

    La valeur recherchée contient 9 caractères afin qu'un seul caractère soit différent, manquant ou ajouté dans les valeurs correspondantes. Ceci correspond à l'épellation correcte du nom de la langue lithuanian qui contient un caractère de plus.

  • @syslanguage ~= "lituanien"

    Cette valeur recherchée contient toujours 9 caractères, mais deux erreurs reliées au nom correctement épelé du nom de la langue, alors lithuanian n'a pas de correspondance.

Vous pouvez également ajouter le caractère de remplacement * à la fin de la valeur recherchée pour appliquer la correspondance seulement au début des valeurs possibles, permettant tout par la suite. Toutefois, le caractère * apparaissant à n'importe quel autre endroit n'est pas interprété en tant que caractère de remplacement.

Exemple :

  • @sysauthor ~= "Dipartiment*"

    La valeur recherchée a 11 caractères afin qu'un maximum de deux caractères puissent être différents, manquants ou ajoutés dans les 11 premiers caractères des valeurs correspondantes, afin que Department of Justice ou Department of Defense soient des valeurs correspondantes.

Note : Votre administrateur Coveo peut activer l’utilisation de la recherche floue ou phonétique dans l’interface de recherche Personnes de Coveo .NET Front-End (voir Enabling Fuzzy or Phonetic Search in the People Search Interface).

Correspondance phonétique

L'opérateur de champ avancé pour la correspondance phonétique (%=) recherche des valeurs qui sont phonétiquement identiques aux valeurs recherchées. Techniquement, une requête de correspondance phonétique convertit la valeur recherchée en codes phonétiques, les compare avec les codes phonétiques de toutes les valeurs de champ possibles, et retourne celles qui partagent certains codes phonétiques.

Exemple : La correspondance phonétique peut être utile pour trouver des variantes de prénoms appartenant possiblement à diverses cultures.

@sysauthor %= "Georg"

Valeur Codes phonétiques Correspondances
Georg JRK et KRK George et Jörg
George JRJ et KRK Georg
Jörg JRK et ARK Georg

Note : La correspondance phonétique tente d'obtenir les codes phonétiques de diverses langues avec une complexité de code phonétique limitée. Par conséquent, les résultats correspondants peuvent parfois sembler incomplets, particulièrement pour de longues valeurs de requêtes.

Correspondance d'expressions régulières

L'opérateur de champ avancé pour les expressions régulières (/=) applique l'expression régulière saisie en tant que valeur de champ pour correspondre à du contenu précis (voir Regular expression).

Exemple : Vous pouvez utiliser l'opérateur de champ avancé pour les expressions régulières pour mettre en correspondance des valeurs de champ pour le nom d'utilisateur, qui sont en forme de courriel :

@username /= "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"

Note : Utilisez la syntaxe d'expression régulière ECMAScript, mise en application, par exemple, par JavaScript (voir Using Regular Expressions with JavaScript).