Affichez un message personnalisé lorsque la recherche n’est pas précise

Ce que vous voulez faire

Afin d’obtenir les meilleurs résultats de recherche, Doofinder essaie différents modes de recherche. La recherche approximative ou la recherche floue (fuzzy search en anglais) est l’un de ces modes. Il s’agit d’un mode de recherche de “dernière ressource” que Doofinder utilise lorsqu’aucun des autres modes de recherche précise n’a fonctionné. La recherche approximative tente de trouver des résultats “assez proches” plutôt que des correspondances parfaites. D’ailleurs, il serait peut-être convenable de faire savoir à l’utilisateur – lorsqu’il s’agit du mode de recherche choisi par Doofinder- que les résultats de recherche sont plus « diffus ».

Comment le faire

Vous aurez deux choses à faire:

  • Savoir lorsque Doofinder a réalisé la recherche en mode approximatif: cette information peut être obtenue à partir de la réponse du serveur de Doofinder.
  • Lorsque le mode approximatif a été utilisé, vous devrez afficher un message dans le cache en précisant que la recherche n’est pas précise.  Pour ce faire, vous pouvez utiliser un patron personnalisé.

La solution

Dans un premier temps, créons un patron de résultats personnalisés avec un espace réservé pour notre message.

Avis: Vous pouvez voir l’espace réservé pour le message dans le sélecteur css p#df-query-name. Cet élément est caché par défaut.
Comme avec l’exemple précédent, vous devez indiquer à Doofinder qu’il faut utiliser ce cache de résultats personnalisés à la place du cache de résultats par défaut.

Maintenant, il ne nous reste plus qu’à rendre cet élément d’espace réservé visible lorsque les résultats de recherche proviennent d’une requête floue. Nous utilisons, à cet effet, le rappel de résultats reçus, qui nous indique chaque fois que des résultats ont été reçus. Le handler est pourvu d’un objet de réponse  avec des détails portant sur les résultats de recherche obtenus.

Ceci est juste une manière parmi d’autres d’afficher le message, vous pouvez faire ce que vous voulez avec votre structure DOM. Ce qu’il est important de comprendre ici est que le rappel est activé chaque fois que des résultats sont reçus et des informations de réponse lui sont fournies.