Prise en charge de la recherche entre guillemets (phrase, phrase)
SearchWP prend en charge les recherches entre guillemets, parfois appelées recherches par phrase ou par énoncé. Cela permet à vos visiteurs d'ajouter des guillemets à leurs recherches afin de forcer des correspondances exactes pour cette chaîne entre guillemets.
Par exemple, rechercher cafetières par rapport à "cafetières"
Pour activer cette fonctionnalité, cochez la case appropriée dans l'onglet Paramètres généraux de la page des paramètres de SearchWP :
Lorsqu'il est activé, SearchWP vérifiera les requêtes de recherche pour les termes entourés de guillemets et tentera de trouver des correspondances exactes pour la chaîne entre guillemets. En reprenant l'exemple précédent de cafetières par rapport à "cafetières" :
cafetières- Dans le fonctionnement de SearchWP, SearchWP effectuera d'abord une recherche en utilisant la logique
ET, garantissant que tous les termes de recherche sont présents. Si aucun résultat n'est trouvé lors de ce passage, SearchWP reviendra automatiquement à la logiqueOU. Ce comportement peut être personnalisé à l'aide de hooks. "cafetières"- Étant donné que la chaîne de recherche est entourée de guillemets, SearchWP tentera de trouver des résultats qui correspondent exactement à
cafetières(notez les précautions) lors d'une recherche. Si aucun résultat ne correspond exactement, les guillemets seront supprimés et la recherche sera effectuée à nouveau en suivant ce modèle.
Notes
Par nature, les recherches entre guillemets restreignent/affinent les résultats de recherche. Cela peut entraîner l'absence de résultats. Avec SearchWP, si aucun résultat n'est trouvé avec une recherche entre guillemets, l'algorithme reviendra à une recherche sans guillemets. Un avis est automatiquement généré pour indiquer le changement.
⚠️ La personnalisation du style (CSS) est probablement nécessaire ⚠️
La capture d'écran ci-dessus décrit la sortie automatique dans Twenty Nineteen, un thème WordPress par défaut. Le CSS suivant peut être ajouté pour améliorer son apparence :
Note : (Vous pouvez ajouter du CSS personnalisé à votre site en accédant à Apparence > Personnaliser > CSS additionnel dans votre tableau de bord WordPress)
| .searchwp-revised-search-notice { | |
| margin: 0 calc(10% + 60px) 1em; | |
| padding: 0.6em; | |
| background: #f7f7f7; | |
| border: 1px solid #e7e7e7; | |
| border-radius: 2px; | |
| } | |
| .searchwp-suggested-revision-query { | |
| font-style: italic; | |
| font-weight: bold; | |
| } |
Ce qui donne une notification qui correspond mieux au design du site :
Précautions
Il y a quelques limitations à considérer lors de l'évaluation de l'implémentation de la correspondance exacte de SearchWP. SearchWP est un système de recherche basé sur des jetons, donc par nature, l'index de SearchWP ne contient pas les détails complets sur les correspondances exactes dans son index de recherche. L'indexeur de SearchWP permet également la personnalisation du contenu lors de l'indexation, ce qui peut parfois masquer davantage les correspondances exactes.
En conséquence, SearchWP n'est pas en mesure de trouver des correspondances exactes dans les cas suivants :
- Contenu généré par des shortcodes
- Métadonnées supplémentaires (bien qu'il existe une solution de contournement)
- Contenu modifié lors de l'indexation
En raison de ces limitations, la prise en charge de la recherche entre guillemets par SearchWP est une fonctionnalité optionnelle, vous obligeant à activer la fonctionnalité en cochant la case dans l'onglet Avancé de l'écran des paramètres de SearchWP.
Solutions de contournement
Il existe quelques moyens limités de contourner les limitations de la prise en charge de la recherche entre guillemets de SearchWP, comme décrit ci-dessous.
Solution de contournement pour les métadonnées supplémentaires
Lorsque SearchWP indexe les métadonnées supplémentaires, les données sont stockées uniquement dans l'index de SearchWP, ce qui signifie que le seul enregistrement des données est celui qui a été tokenisé par l'indexeur.
Afin d'éviter le problème de SearchWP qui ne peut pas dé-tokeniser le contenu pour effectuer des requêtes de correspondance exacte, vous pouvez personnaliser votre hook pour faire un appel à update_post_meta, ce qui persistera les données et activera la prise en charge de la recherche de phrases entre guillemets pour cet enregistrement.
NOTE : Afin d'activer la prise en charge de la recherche entre guillemets, vous devrez ajouter la meta_key que vous utilisez aux champs personnalisés de chaque source avec laquelle vous travaillez. SearchWP utilise ces clés explicitement lors de cette action.
Il s'agit d'un comportement optionnel, car SearchWP stocke les métadonnées supplémentaires uniquement dans son index afin de minimiser l'utilisation de la base de données.




