Je parcours votre contenu pour vous aider à trouver rapidement les réponses à vos questions.
Guide technique d'achat pour la recherche sur site
La recherche grand public est l'une des fonctionnalités les plus difficiles à maîtriser, car elle englobe de multiples aspects (expérience utilisateur, rapidité, pertinence, personnalisation) et se heurte constamment à la concurrence de géants comme Google et Amazon. Elle doit constituer un outil performant pour vos utilisateurs, vos développeurs et vos responsables.
Comment procéder ? C’est là que ce guide intervient. Nos conseils vous aideront à choisir la bonne API de recherche.
Si ce guide vous a intéressé, c'est probablement parce que la recherche est un élément essentiel de votre application : dans des domaines comme le e-commerce, un bug dans la recherche peut coûter des millions de dollars. La recherche est également l'une des fonctionnalités les plus difficiles à maîtriser, car les utilisateurs comparent leurs expériences de recherche à celles de Google et d'Amazon, et parce qu'elle repose sur l'équilibre de plusieurs disciplines, notamment l'UX, l'optimisation de la pertinence et l'optimisation des performances.
Les résultats de la recherche doivent s'actualiser à chaque nouveau caractère saisi. Le moteur de recherche doit deviner ce que les utilisateurs recherchent, voire prédire leurs intentions, ce qui implique l'utilisation de nombreuses données et analyses d'utilisateurs, et bien sûr, de l'intelligence artificielle.
Au cœur d'une expérience de recherche optimale se trouve un moteur de recherche performant, capable de réaliser des prouesses de calcul incroyables. La recherche étant un atout concurrentiel majeur, il est essentiel de vous documenter au maximum avant d'évaluer les outils à implémenter.
Ce petit guide vous expliquera :
Lorsque nous parlons de recherche dans ce guide, nous faisons référence à la recherche grand public, qui s'adapte à l'utilisateur et non l'inverse. Elle propose à un mélomane un casque audio qui lui plaira, tolère les fautes d'orthographe et sait que le mot « football » aux États-Unis n'a pas la même signification qu'au Brésil. La recherche grand public est ultra-rapide, fonctionne sur tous les appareils et fournit presque systématiquement les résultats les plus pertinents. Cette distinction avec la recherche d'entreprise, qui analyse les intranets, les applications et les outils professionnels, est importante car elle met l'accent sur les exigences élevées du consommateur en matière de rapidité et de pertinence.
Par ailleurs, la recherche de qualité grand public ne s'applique plus seulement aux applications destinées aux consommateurs. Les utilisateurs d'applications professionnelles sont aujourd'hui tout aussi exigeants, notamment parce que nombre de ces applications sont distribuées sur les plateformes de téléchargement et que certaines sont même en concurrence directe avec les versions grand public.
Lorsque vous recherchez « Robinhood » sur Google, 89 millions de résultats s'affichent en une fraction de seconde. Pendant ce court laps de temps, ces neuf lettres ont parcouru des centaines de kilomètres jusqu'à un centre de données où des serveurs ont interrogé d'innombrables index pour trouver et classer les enregistrements correspondants, avant de renvoyer ces 89 millions de résultats sur des centaines de kilomètres.
La vitesse dépend de la puissance de calcul et de la latence. À quelle vitesse un moteur de recherche peut-il déterminer ce qu'un utilisateur souhaite, et à quelle vitesse peut-il lui fournir le résultat ? Au-delà de quelques centaines de millisecondes, l'intérêt de l'utilisateur risque de s'estomper.
f(calcul,latence) = vitesse
La distance est le facteur de latence le plus évident. Même avec les meilleurs câbles à fibre optique, un trajet de 160 kilomètres reste plus rapide qu'un trajet de 1 600 kilomètres. Si votre activité s'étend sur plusieurs régions, un emplacement centralisé augmente la latence pour les clients distants. Même l'acheminement d'une requête vers votre centre de données peut s'avérer complexe : les équilibreurs de charge et les services DNS font souvent transiter les requêtes d'un réseau à l'autre avant de les résoudre correctement. Enfin, bien que la latence soit principalement un problème de réseau, elle peut également dépendre de l'algorithme de tri utilisé ou de l'architecture de la base de données.
L'autre moitié de l'équation réside dans la puissance de calcul. Il existe une relation directe entre la fréquence d'horloge et la rapidité d'indexation et de recherche. Le matériel, les techniques de stockage, les structures de données, la fusion, l'allocation des ressources et bien d'autres variables agissent de concert pour gagner de précieuses millisecondes.
Les détails comptent : le degré de distribution de l’architecture, son exécution sur du matériel physique (éliminant ainsi les coûts de performance liés à la virtualisation des serveurs), et si le processus d’indexation prétrie les résultats ou exige qu’ils soient triés au moment de la requête.
Il est tout aussi important de prioriser l'indexation par rapport à la recherche. Une stratégie consiste à les séparer en deux processus avec des priorités CPU différentes, afin que, par exemple, la recherche prévale toujours sur l'indexation. De plus, l'indexation et la recherche effectuent généralement de nombreuses opérations d'entrée/sortie disque. Idéalement, la recherche n'effectue aucune opération disque, ce qui signifie que toutes les données doivent rester en mémoire. Cela garantit que la vitesse du moteur de recherche n'est pas affectée par les opérations d'indexation.
Le dernier point à mentionner concerne l'organisation d'un ensemble de mots dans un index. Les listes ou les dictionnaires peuvent sembler des structures de données intuitives, mais les tries sont en réalité les meilleures.
Pour suggérer un mot en autocomplétion, la structure arborescente d'un trie (arbre de recherche) composée de nœuds racine et enfants peut être rapidement explorée avec une requête partiellement complétée. Par exemple, la figure 1 illustre la structure arborescente pour les mots « fast », « faster », « test », « toast », « toaster » et « toasting ». Chaque branche représente l'information minimale nécessaire à l'identification de la requête, contrairement aux tables de hachage qui nécessitent le calcul d'une fonction de hachage.

Lorsque vous évaluez un moteur de recherche, posez-vous les questions suivantes :
Nos attentes concernant les résultats de recherche ont beaucoup évolué au cours de la dernière décennie. Par exemple, nous avons abandonné l'utilisation archaïque de la touche Entrée pour lancer une recherche.
Désormais, l'utilisateur s'attend non seulement à voir instantanément une liste de résultats pertinents, mais aussi à ce que ces résultats soient classés par ordre de pertinence optimal. Les consommateurs habitués à trouver tous les résultats sur la première page de leurs recherches Google souhaitent une performance similaire pour la recherche sur site et dans application.
La pertinence garantit que tous les enregistrements correspondant à une requête soient trouvés. Mais que signifie « correspondre à une requête » ? Une simple correspondance textuelle ne suffit pas pour concevoir un moteur de recherche destiné au consommateur moderne. La correspondance intelligente prend en compte la tolérance aux fautes de frappe, la correspondance partielle des mots, la distance spatiale entre les mots correspondants, le nombre d'attributs correspondants, les synonymes, les caractéristiques du langage naturel telles que les mots vides et les pluriels, la géolocalisation et bien d'autres aspects qui correspondent « intuitivement », non seulement à ce que le consommateur saisit, mais aussi à ce qu'il attend d'une recherche à l'ère de Google.
Figure 2 : Dénombrement des opérations nécessaires pour transformer un mot
Trouver des enregistrements n'est qu'une partie du travail. Une fois les « bons » enregistrements en main, un autre aspect entre en jeu : leur classement.
L'innovation majeure réside dans le classement des résultats de recherche par pertinence, un processus qui combine avec soin le classement, la correspondance textuelle et les attributs de l'utilisateur. Une simple recherche Google de type « Robin des Bois » utiliserait un algorithme de classement rudimentaire, plaçant en tête les résultats contenant le plus d'occurrences du mot.
La recherche intelligente enrichit le calcul en tenant compte du comportement humain lors de la saisie (ou de la parole) ; elle peut ainsi déterminer si l’utilisateur fait référence à l’application d’investissement ou au hors-la-loi héroïque. Ces données contextuelles complexifient l’algorithme et nécessitent des méthodes de classement plus sophistiquées, exploitant l’analyse des données et du comportement des utilisateurs.
Les algorithmes sous-jacents qui calculent le classement existent pour différents cas d'utilisation. Des algorithmes comme TF-IDF et le modèle « sac de mots » ont été conçus pour la recherche dans des documents non structurés. La recherche grand public, quant à elle, tire parti des données structurées. Par exemple, pour recommander le livre approprié à Amazon, les algorithmes de classement doivent prendre en compte des attributs tels que l'auteur et la note.
Si vous souhaitez fournir aux utilisateurs des résultats pertinents, demandez-leur :
La recherche est essentielle à l'expérience utilisateur. Il s'agit du canal d'interaction préféré, et le plus souvent indispensable, avec les applications et les sites web. La recherche est clairement utile pour l'utilisateur, mais avant de choisir votre outil de recherche en vous basant uniquement sur l'expérience utilisateur, vous devez réfléchir à ce qui rendra la recherche utile pour votre équipe.
Lors de l'achat d'un logiciel, une question fondamentale se pose : faut-il l'implémenter soi-même, l'héberger, ou opter pour une solution intermédiaire ? Certes, on souhaite bénéficier de la puissance d'un logiciel entièrement personnalisable et extensible, mais à quel prix ?
Souhaitez-vous prévoir l'approvisionnement en serveurs et le recrutement d'ingénieurs pour leur exploitation, ainsi que la prise en charge des coûts d'hébergement et de maintenance ? Votre équipe est-elle en mesure de maintenir les logiciels à jour et d'assurer la rétrocompatibilité ?
L'hébergement, la gestion et la maintenance des clusters de recherche sont complexes et englobent tous les aspects, de la sécurité à la visibilité sur l'infrastructure, en passant par les options de configuration limitées. Sécuriser correctement l'ensemble de l'infrastructure exige une équipe compétente et expérimentée. De l'accès physique aux serveurs à la sécurité du système d'exploitation et du réseau, chaque élément de votre infrastructure nécessite une attention constante.
Ensuite, il faut récupérer et indexer les données. Si vous optez pour une API, vous devrez extraire les données de votre source, les formater en JSON et les envoyer au fournisseur pour indexation. Il est donc essentiel que votre fournisseur soit compatible avec votre infrastructure technique. Un client API pour votre langage de programmation préféré est un bon point de départ, mais un client API régulièrement mis à jour est encore mieux. La compatibilité avec votre framework de développement est un atout, tout comme une extension native pour votre backend e-commerce.
Une fois l'indexation maîtrisée, l'étape suivante consiste à configurer la pertinence du moteur. Contrairement à la recherche d'entreprise, qui offre une multitude d'options et d'affichages pour le traitement de volumineux documents non structurés, la recherche grand public vise à mettre en relation les utilisateurs avec des produits et des contenus. Cela paraît simple : il suffit de configurer les critères de pertinence. Cependant, il est important de se demander si l'on dispose des ressources nécessaires pour créer une formule de classement sur mesure et définir une stratégie de pertinence textuelle adaptée et performante pour son cas d'utilisation. Pour ce faire, il faut une équipe hautement qualifiée et un investissement en temps considérable.
Lorsque vous choisissez où effectuer votre recherche, posez-vous les questions suivantes :
Par nécessité, tout logiciel doit être pérenne : le rythme de l’innovation menace d’obsolescence tous les deux ou trois ans. Mais que signifie « pérenne » dans le contexte de la recherche ?
Pour toute évaluation, un critère de base est un logiciel capable de faciliter la prise de décisions fondée sur les données. À tout le moins, un moteur de recherche doit disposer d'une couche d'analyse. La combinaison de rapports avec des indicateurs tels que les taux de clics, le nombre de requêtes, les requêtes les plus populaires et celles qui ne donnent aucun résultat permet de mettre en lumière le comportement des utilisateurs.
Avec l'avènement de l'IA, les possibilités de prédire les intentions des utilisateurs et de recommander et personnaliser des produits et des contenus sont à la fois infinies et indispensables. Parallèlement, dans un monde où la protection de la vie privée est primordiale, l'IA doit être utilisée avec la plus grande prudence et en toute transparence envers votre équipe. Optimiser un algorithme d'IA est complexe, mais crucial.
L'avènement le plus incontestable est sans doute la recherche vocale. Les interfaces de saisie physique sont le plus souvent complétées par la recherche vocale afin d'offrir une expérience utilisateur plus fluide. Bien entendu, la recherche vocale n'est devenue possible que grâce aux progrès réalisés dans le domaine du traitement automatique du langage naturel (TALN), et donc de l'intelligence artificielle.
Lorsque vous prévoyez de mettre en œuvre ou d'améliorer votre fonctionnalité de recherche, posez-vous les questions suivantes :
Les moteurs de recherche comptent trois groupes d'utilisateurs principaux : les utilisateurs finaux, les utilisateurs professionnels et les développeurs. Si les utilisateurs finaux privilégient la rapidité, la pertinence et une expérience utilisateur optimale, les développeurs, quant à eux, accordent une grande importance à la clarté, la productivité, la personnalisation et la flexibilité du moteur, ainsi qu'à des aspects de l'expérience développeur (DX) tels qu'une documentation de qualité, un support technique efficace et la possibilité de se concentrer sur des projets importants.
Une bonne expérience utilisateur (DX) implique une sécurité facile à gérer, une configuration minimale et des outils flexibles et intuitifs. Cela signifie, par exemple, que vous recherchez des bibliothèques complètes pour implémenter des fonctionnalités de recherche ; un atout supplémentaire si ces bibliothèques sont intégrées à vos frameworks préférés.
Cela signifie aussi ne plus avoir à gérer des tickets informatiques plusieurs fois par jour. Dans la plupart des entreprises, les personnes qui possèdent les données de recherche et souhaitent les analyser ne sont pas des développeurs, mais plutôt des chefs de produit, des stratèges numériques, des responsables marketing e-commerce et des stratèges omnicanaux. Votre outil de recherche permettra-t-il à ces utilisateurs métiers de comprendre et de mettre à jour les formules de pertinence et, surtout, d'accéder aux analyses de recherche pour obtenir des informations sur les clics et les requêtes ? Comparez cette agilité à la nécessité de solliciter votre équipe de développement pour chaque modification des formules de recherche et chaque nouvelle offre.
Une bonne expérience pour les développeurs équivaut à une productivité accrue, ce qui, compte tenu des salaires des ingénieurs et de la pénurie de talents à des niveaux historiques, se traduit directement par des produits de meilleure qualité et un coût total de possession inférieur pour les applications internes.
Lorsque vous réfléchissez à DX, posez-vous les questions suivantes :
Les équipes de développement retardent souvent la mise en place de la fonction de recherche par manque de confiance dans leur capacité à la maîtriser et par crainte d'un délai plus long que prévu. Pourtant, la qualité de la recherche d'une application influence fortement la perception de sa qualité globale. La recherche numérique évolue constamment, imposant des exigences toujours plus élevées aux utilisateurs. Pour leur offrir le meilleur service, votre fonctionnalité de recherche doit être rapide, personnalisée et ultra-pertinente.
Pour ce faire, tenez compte du coût total de possession, de la satisfaction des développeurs, de la flexibilité et de la disponibilité pour tous les acteurs de la recherche, y compris ceux qui ne sont pas ingénieurs. Si la combinaison de ces facteurs peut rendre la recherche risquée pour le développement d'applications professionnelles et grand public, une vision globale et intégrée de ce que la recherche représente pour votre application et votre équipe vous aidera à atténuer les risques et à choisir l'outil le plus adapté à votre cas d'usage.
Algolia est la seule plateforme mondiale de recherche et de découverte basée sur l'IA de bout en bout. Nos ingénieurs ont révolutionné l'utilisation de l'IA pour créer une expérience de recherche et de découverte exponentiellement plus performante. La technologie propriétaire NeuralSearch d'Algolia combine le traitement vectoriel du langage naturel et la correspondance de mots-clés au sein d'une API unique. Algolia traite 1 750 milliards de requêtes de recherche par an, soit plus de 30 milliards par semaine, permettant à plus de 17 000 clients dans plus de 150 pays de proposer des expériences de recherche et de découverte ultra-rapides et pertinentes à leurs utilisateurs d'applications et/ou visiteurs en ligne, quel que soit l'appareil utilisé (web, mobile ou vocal), en affichant instantanément et à grande échelle le contenu souhaité.