Une facette permet à l'utilisateur de restreindre du contenu renvoyé en fonction du contenu stocké depuis Watson Explorer Engine. Par défaut, les contenus sont regroupés par volume, le contenu répertorié en premier étant le plus populaire. Lorsqu'une facette est sélectionnée, le contenu Application Builder affecté est restreint aux documents qui contiennent la valeur sélectionnée de la zone cible. En général, la création de facettes est destinée à un widget d'amélioration sur la page de résultats de recherche.
Une requête de création de facettes simple, field('fieldname'), renvoie un seul niveau de facettes et peut être utilisée dans des widgets tels que le widget d'amélioration avec le code suivant :
facet_by: field('fieldname')
Plusieurs options sont disponibles lors de la création de facettes. Ces options sont décrites ci-dessous :
.with_facet_id('id')
Spécifiez un ID qui servira à
extraire la facette obtenue, où id correspond à l'ID de la facette. .with_separator('separator')
Spécifiez un séparateur
pour diviser une zone en une hiérarchie de valeurs, où separator correspond à toute
chaîne séparant les valeurs de vos facettes. Par exemple, une zone contenant une chaîne telle que
color.blue.navy peut être divisée à l'aide d'un point pour créer une
hiérarchie qui identifie plus de couleurs spécifiques. .with_maximum_facet_values_of(integer)
Cette
option indique le nombre maximal de valeurs de facette retournables pour une facette. En la définissant sur
une valeur raisonnable (par exemple 100), vous garantissez que l'application peut être parcourue
correctement par l'utilisateur. .with_intervals_of(integer)
Cette option définit la valeur de regroupement
pour des facettes numériques. Par exemple, un intervalle de 10 pour une zone contenant des valeurs d'années
peut être utilisé pour regrouper des valeurs dans la même décennie..with_maximum_of(integer)
Cette option définit la limite supérieure
sur la facette ; seules des zones numériques inférieures ou égales à cette valeur sont renvoyées. .with_minimum_of(integer)
Cette option définit la limite inférieure
sur la facette ; seules des zones numériques supérieures ou égales à cette valeur sont renvoyées. .without_pruning
Par défaut, les facettes enfants sont élaguées si elles sont inférieures
au niveau supérieur avec plusieurs valeurs de facette. Cette option force le calcul de cette facette
lorsque ses parents sont calculés. .with_or_logic
Cette option spécifie l'utilisation de la logique OR lorsque plusieurs valeurs de facette sont combinées. .with_and_logic
Cette option spécifie l'utilisation de la logique AND lorsque plusieurs valeurs de facette sont combinées. Les calculs sont également possibles dans des requêtes de création de facettes comme suit :
sum
Pour renvoyer une somme de la facette
sum('account_size').with_facet_id("facet id")
min
Pour renvoyer la valeur minimale de la facette
min('account_size')
max
Pour renvoyer la valeur maximale de la facette
max('account_size')
avg
Pour renvoyer la valeur moyenne de la facette
avg('account_size')
stddev
Pour renvoyer la valeur d'écart type de la facette
stddev('account_size')