Partager via


Spécification d’affinement dans le service Web de requête et le modèle objet de requête

Apprenez à spécifier les affinements dans le service Web de requête ou le modèle objet de requête.

Dernière modification : jeudi 1 septembre 2011

Lors de l’interrogation de FAST Search Server 2010 for SharePoint, vous pouvez spécifier quels affinements et quels types d’affinement de données doivent être retournés dans le résultat de la requête.

S’applique à : SharePoint Server 2010

Spécification des affinements à l’aide du service Web de requête ou du modèle objet de requête

Si vous utilisez le service Web de requête, vous spécifiez les affineurs de requête demandés en utilisant l’Élément d’affinement dans le schéma Microsoft.Search.Query. Pour plus d’informations, voir Utilisation d’affinements dans le service Web de requête.

Si vous utilisez le modèle objet de requête, vous spécifiez les affinements de requête demandés avec la propriété Refiners de la classe KeywordQuery. Vous utilisez la syntaxe suivante pour spécifier les affinements de requête demandés :

<refiner>[,<refiner>]*

Dans les deux cas, chaque spécification d’affinement particulier a le format suivant :

<refiner-name>[(parameter=value[,parameter=value]*)]?

Où :

  • <refiner-name> est le nom de la propriété gérée associée à l’affinement.

  • La liste facultative des paires parameter=value spécifie les valeurs de configuration autres que les valeurs par défaut de l’affinement nommé. Si un paramètre pour un affinement n’est pas répertorié dans les parenthèses, la configuration du schéma index vous donne la valeur par défaut. Pour plus d’informations, voir la rubrique Schéma d’index (FAST Search Server for SharePoint).

Le tableau 1 répertorie les paramètres valides pour les affinements.

Tableau 1. Paramètres valides pour les affinements (FAST Search Server 2010 for SharePoint)

Paramètre

Description

deephits

Remplace le nombre d’occurrences par défaut utilisées comme base pour le calcul de l’affinement approfondi. Cela a un impact sur les performances de la recherche.

Syntaxe

deephits=<integer value>

Exemple

price(deephits=1000)

Notes

Cette limite s’applique au sein de chaque partition de recherche dans les lignes ou les colonnes de la recherche. Le nombre réel d’occurrences évaluées sera supérieur à cette valeur en raison de l’agrégation des résultats sur les partitions de recherche.

discretize

Spécifie les intervalles personnalisés (bacs d’affinement) pour les affinements numériques.

Syntaxe

discretize=manual/<threshold>/<threshold>[/<threshold>]*

L’attribut <threshold> spécifie le seuil de chaque bac d’affinement.

Il existe un intervalle pour tous les éléments en dessous du premier seuil spécifié, un intervalle entre chaque seuil consécutif et un intervalle pour tous les éléments en dessus du dernier seuil.

Pour un affinement de type Datetime, spécifiez le seuil selon les formats compatibles avec ISO 8601 suivants :

  • AAAA-MM-JJ

  • AAAA-MM-JJThh:mm:ss

  • AAAA-MM-JJThh:mm:ssZ

Les valeurs de format spécifient les éléments suivants :

  • AAAA  Année à quatre chiffres. Seul le format des années à quatre chiffres est pris en charge.

  • MM Mois sur deux chiffres. 01 = Janvier.

  • JJ Jour sur deux chiffres dans le mois (01 à 31).

  • T  La lettre T.

  • hh  Heure exprimée sur deux chiffres (00 à 23). Indication AM ou PM non autorisée.

  • mm  Minute exprimée sur deux chiffres (00 à 59).

  • ss  Seconde exprimée sur deux chiffres (00 à 59).

Important

Toutes les valeurs date/heure doivent être spécifiées selon UTC (Coordinated Universal Time), également connu comme fuseau horaire GMT (Greenwich Mean Time). L’identificateur de fuseau horaire UTC (un caractère « Z » à droite) est facultatif.

sort

Définit la façon dont trier les bacs au sein d’un affinement de chaîne.

Syntaxe

sort=<property>/<direction>

Les attributs effectuent ce qui suit :

  • <property>  Spécifie l’algorithme de tri. Les valeurs valides sont les suivantes (les valeurs doivent être en minuscules) :

    • frequency  Tri par occurrence dans les bacs.

    • name  Tri par nom d’étiquette.

    • number  Traite les chaînes comme des nombres et utilise le tri numérique. Cette valeur peut être utile pour spécifier des valeurs discrètes, par exemple, pour effectuer le tri numérique d’une valeur qui est contenue dans une propriété gérée de type chaîne.

  • <direction>  Spécifie le sens du tri. Les valeurs valides sont les suivantes :

    • descending

    • ascending

Exemple

sort=frequency/descending

Par défaut : fréquence/décroissant.

filter

Définit comment les bacs au sein d’un affinement de type String sont filtrés avant d’être renvoyés au client.

Syntaxe

filter=<bins>/<freq>/<prefix>[<levels>]

Les attributs effectuent ce qui suit :

  • <bins>  Spécifie le nombre maximal de bacs retournés.

    Après avoir trié les bacs dans l’affinement, utilisez cet attribut pour tronquer les bacs restant à droite. Par exemple, si bins=10, seuls les 10 premiers bacs d’affinement sont renvoyés, en fonction de l’algorithme de tri spécifié.

  • <freq>  Limite le nombre de bacs retournés.

    Utilisez cet attribut pour supprimer les bacs dont le compte de fréquence est faible.

    Par exemple, freq=2 indique que seuls les bacs ayant deux membres au moins sont retournés.

  • <prefix>  Spécifie que seuls les bacs dont le nom commence par ce préfixe sont retournés.

    Le caractère générique astérisque * correspond à tous les noms.

    Exemple

    filter=30/2/*

  • <levels>  Spécifie les niveaux de taxonomie.

    Utilisez cet attribut pour filtrer la sortie de l’affinement hiérarchique en fonction des niveaux de taxonomie.

    L’attribut doit être un entier positif n. La valeur par défaut est n=0.

    Si n>0, seules les entrées d’affinement contenant moins de n symboles séparateurs de chemin de taxonomie (/) seront retournées. Si n=0, aucun filtrage de niveau n’est effectué.

    Le séparateur de niveau est le caractère barre oblique avant (/).

    N’oubliez pas le coût en termes de performances de l’utilisation d’un très grand navigateur de taxonomie. Le filtrage s’effectue dans le cadre du traitement des résultats.

    Notes

    Ce paramètre s’applique au filtrage des résultats spécifique à l’application. Ceci est différent du paramètre cutoff, qui applique des limites dans chaque nœud particulier de correspondance de la requête pour l’optimisation des performances.

cutoff

Limite la quantité des données qui doivent être transférées et traitées pour les affinements de chaîne approfondis. Les affinements peuvent être configurés pour renvoyer uniquement les valeurs les plus pertinentes (bacs).

Notes

Ce filtrage de limitation est effectué au sein de chaque serveur de correspondance de la requête. Ceci est différent du paramètre filter, qui effectue le filtrage uniquement côté résultats. Vous pouvez combiner les deux paramètres.

Syntaxe

cutoff=<frequency>/<minbins>/<maxbins>

Les attributs effectuent ce qui suit :

  • <maxbins>  Limite le nombre de bacs.

    Ce paramètre limite le nombre de valeurs uniques (bacs) retournées pour un affinement. C’est le moyen préférable pour améliorer les performances de recherche lorsque des affinements de chaîne avec un grand nombre de bacs sont retournés.

    « 0 » implique que la valeur par défaut spécifiée dans le schéma d’index est utilisée.

  • <frequency>  Limite le nombre de bacs par fréquence.

    Si le nombre d’occurrences d’une valeur d’affinement dans un ensemble de résultats est inférieur ou égal à la valeur de la fréquence, la valeur de l’affinement n’est pas retournée.

    « 0 » implique que la valeur par défaut spécifiée dans le schéma d’index est utilisée.

  • <minbins>  Spécifie la valeur minimale pour la limitation de fréquence.

    Si le nombre de valeurs d’affinement uniques pour la requête est inférieur à cette valeur, aucune limitation de fréquence n’est effectuée et toutes les valeurs d’affinement sont retournées depuis cette partition de recherche. Lorsque vous utilisez la limitation par fréquence, ce paramètre permet de spécifier un nombre minimal de valeurs d’affinements uniques qui seront retournées sans tenir compte du nombre d’occurrences. La valeur par défaut de cet attribut est 0, ce qui signifie que la limitation de fréquence est effectuée sans tenir compte du nombre de valeurs de navigateur unique.

    « 0 » implique que la valeur par défaut spécifiée dans le schéma d’index est utilisée.

Notes

Utilisez <frequency> et <minbins> avec précaution ; il est recommandé d’utiliser seulement <maxbins>.

L’exemple suivant spécifie un affinement de requête pour la dernière date de modification :

write(discretize=manual/2010-01-01/2010-08-22/2010-09-15/2010-09-21/2010-09-22)

L’affinement write est associé à la propriété gérée qui contient la dernière date de modification des éléments. Cet affinement spécifie les bacs date/heure de taille fixe, où le dernier bac (2010-09-22) doit représenter la date en cours lors de l’émission de la requête. Les bacs spécifiés peuvent alors servir de base pour représenter les bacs d’affinement pour aujourd’hui, hier, la semaine dernière, le mois dernier, l’année dernière et plus ancien.

Si vous voulez vous adapter à la zone horaire de l’utilisateur, vous pouvez spécifier les bacs avec la représentation date/heure complète.

Notes

Les noms des affinements doivent être en caractères minuscules dans la spécification.

Voir aussi

Concepts

Utilisation d’affinements dans le service Web de requête

Ajout d’un affinement au composant WebPart du panneau d’affinement

Affinement de requête (FAST Search Server 2010 for SharePoint)