
Dans les coulisses
Des données à l'action : Le développement de produits en pleine mutation (partie 1)
par Ronny Wullschleger
Tout le monde le sait : une recherche qui fonctionne permet de s'orienter sur Internet. Sur digitec et Galaxus, il existe également une recherche qui est utilisée de manière intensive.
Avec plusieurs centaines de milliers de visites par jour, la recherche est l'une des fonctionnalités les plus utilisées sur nos sites. Depuis environ un an, l'équipe Endeavour continue de développer la recherche. Notre objectif est de vous offrir un accès confortable à notre contenu.
Le plus important est bien sûr que la recherche vous permette de trouver rapidement le bon produit parmi les innombrables proposés. D'autre part, nous souhaitons également vous montrer des connaissances sur les produits sous forme d'articles de magazines et de la communauté - afin que vous puissiez vous informer avant d'acheter.
Mais comment construire une bonne recherche ? Quels sont les pièges à éviter ? Et quels sont les problèmes à résoudre ? Pour ceux qui s'intéressent à la technologie, j'ai écrit cet article qui vous permettra de jeter un coup d'œil à notre ingénierie.
. Pour pouvoir effectuer une recherche, il faut d'abord créer une bonne base de données. Sans cela, il n'y a pas de bons résultats. C'est plus facile à dire qu'à faire, car notre recherche combine bien plus que des données de produits. Des millions de contenus sont rapidement rassemblés. En tant qu'utilisateur, vous ne vous en souciez pas, vous voulez simplement que les résultats appropriés soient affichés de manière claire sur une seule vue. Et ce, rapidement. Pour ce faire, nous utilisons la technologie de recherche open source Elasticsearch.
Ces derniers mois, nous avons beaucoup travaillé sur une nouvelle architecture dans laquelle presque tout le contenu consultable est envoyé à notre module de recherche dans le cloud Azure et stocké dans Elasticsearch. Ces deux technologies combinées nous aident notamment à mettre à jour les changements de prix en temps réel sur le site et à faire évoluer notre solution logicielle.
L'évolutivité est de plus en plus importante, car d'une part le nombre d'informations explose littéralement. Depuis que notre équipe s'occupe de la recherche, le volume de données a déjà triplé et ce processus va s'accélérer avec l'expansion à l'étranger et l'élargissement de l'assortiment.
Tout cela pour des données propres et notre base technologique. Le prochain et plus grand défi pour une bonne recherche est la requête de recherche elle-même. Celle-ci doit non seulement afficher les résultats pertinents, mais aussi fournir des résultats rapidement - vraiment rapidement. Nous parlons d'une moyenne de 150 millisecondes.
Tous les développeurs de logiciels savent que la performance n'augmente pas nécessairement avec le nombre de fonctionnalités. La complexité augmente avec les règles appliquées à la requête. Par exemple, les produits populaires doivent être affichés de manière plus visible que les produits rarement achetés. Le nom doit avoir plus de poids qu'une caractéristique secondaire du produit. Et ce ne sont là que deux cas évidents.
A mesure que le nombre de règles de recherche augmente, le risque d'erreur augmente également. Il faut être prudent lors des modifications pour éviter que des résultats inattendus n'apparaissent soudainement. En parlant de risque d'erreur, il est bien connu que les humains ne sont pas à l'abri. Lorsque nous tapons, de petites erreurs se glissent régulièrement dans les résultats de recherche, mais il ne faudrait pas qu'elles les dégradent.
. Parfois, nous travaillons sur des choses que vous ne pouvez pas voir. Tout au plus les sentir. Je pense par exemple à la modification de la page de résultats, qui est restée exactement la même après la modification. Sous le capot, elle fonctionne désormais avec le framework frontal React. Le live shopping dans la boutique en ligne utilise déjà React, le checkout et d'autres pages suivront. Grâce à la conversion, nous espérons obtenir un meilleur flux d'utilisateurs et de meilleures performances dans le navigateur, notamment sur les appareils mobiles. Et bien sûr, à long terme, une base de code plus légère.
Pour l'instant, au sein de l'équipe Endeavour, nous sommes toujours en train de maîtriser la complexité de la recherche. Nous sommes conscients que nous avons encore un grand potentiel d'amélioration dans la recherche. L'une des approches est le Machine Learning (ML). Les grands moteurs de recherche comme Google utilisent déjà l'apprentissage automatique pour les suggestions de recherche, les corrections et les tendances de recherche. Cette année, nous voulons acquérir des connaissances de base sur ce nouveau thème et mettre en œuvre un premier prototype.
La recherche est une application qui semble simple, mais qui a tout pour elle. Plus vous vous plongez dans le thème, plus il devient complexe et stimulant. Cela vous intéresse-t-il ? Ou pouvez-vous nous faire profiter de vos connaissances en matière d'Elastic ? Il se trouve que nous recherchons actuellement des renforts. Si vous ne voulez pas postuler tout de suite, nous apprécions aussi les compliments et les critiques.