Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Développement et Hébergement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une v√©rification automatique des vuln√©rabilit√©s avec Proof-Based Scanning‚ĄĘ.

L'ajout d'une fonction de recherche puissante à votre application n'est ni complexe ni fastidieux. Voici quelques recommandations solides !

Si de nombreuses technologies se sont impos√©es au cours des deux ou trois derni√®res d√©cennies, la recherche est l'une des rares √† faire partie int√©grante de notre vie. Elle est omnipr√©sente - sites de commerce √©lectronique, blogs, bases de connaissances, etc. - non pas parce qu'une bo√ģte de recherche et une ic√īne ont l'air cool, mais parce qu'elle fait quelque chose dont on a d√©sesp√©r√©ment besoin.

Si vous êtes une entreprise à la recherche d'une bonne solution de recherche ou que vous en avez assez de votre solution existante, que faire ?

Heureusement, vous n'avez pas besoin de payer des frais de licence ridicules, ni d'entretenir une équipe de 20 développeurs et administrateurs système. Aujourd'hui, je vous recommande quelques moteurs de recherche qui peuvent être installés et intégrés en un rien de temps, en particulier pour les petites entreprises disposant d'équipes de développeurs de 1 à 2 personnes.

MeiliSearch

MeiliSearch est l'un des meilleurs moteurs de recherche et l'un de ceux qui ont le plus de valeur.

Pourquoi MeiliSearch figure-t-il parmi mes meilleures recommandations ?

Voici ce que j'en pense.

Source ouverte

Tout le code source de MeiliSearch est disponible sur GitHub. Cela signifie que les d√©veloppeurs peuvent eux-m√™mes examiner n'importe quelle partie du code. En retour, les entreprises peuvent √™tre assur√©es de la qualit√© et de l'intention (pas de portes d√©rob√©es ou de scanners dans le programme, par exemple). Et, bien s√Ľr, les d√©veloppeurs bien inform√©s peuvent contribuer √† am√©liorer encore davantage la technologie.

Une excellente interface utilisateur

MeiliSearch ne comporte pas de règles complexes (comme "a - b" qui signifie a mais pas b). Tapez simplement votre recherche de manière naturelle et les résultats s'afficheront de manière fluide. Le moteur est très tolérant et accommodant, fournissant des résultats précis même lorsque des fautes de frappe ou des synonymes sont utilisés. Il prend également en charge plusieurs langues.

Un excellent DevEx

Les développeurs vont adorer MeiliSearch ! Il n'est pas seulement personnalisable et évolutif, mais il s'interface avec une API REST ! La la documentation est également excellente et complète. Bien que faire des appels HTTP soit trivial dans n'importe quel langage, des exemples de cinq langages (JavaScript, Ruby, Python, Golang et PHP) sont donnés pour ceux qui sont pressés.

Les solutions de recherche simples doivent être simples à utiliser et à configurer. MeiliSearch remplit donc toutes les conditions ! Lorsque vous êtes prêt à continuer, démarrez-le sur DigitalOcean en un clic.

Solr

Solr, qui fait partie du projet Apache, existe depuis quelques années déjà. Il est construit sur la bibliothèque Lucene, bien connue et très fiable, qui alimente également la solution de recherche populaire appelée ElasticSearch. Tout ce charabia signifie que Solr fait partie des solutions de recherche les plus puissantes, les plus évolutives, les plus conformes aux normes, les plus riches en fonctionnalités et les plus fiables.

Elle est utilisée par des géants tels que Disney, eBay, Netflix, Zappos et BestBuy. Cependant, cela ne signifie pas que vous ne pouvez pas exécuter une installation plus petite et plus simple (par exemple, une seule machine, pas de mise à l'échelle, pas de basculement - bien, parfois c'est bien) et utiliser cette centrale appelée Solr.

Alors, pourquoi utiliser Solr ?

Voici quelques excellentes raisons.

Précision et puissance

Solr est l'un des systèmes de recherche les plus précis, les plus performants et les plus puissants au monde. De plus, il s'agit d'un logiciel libre, ce qui explique pourquoi de grands noms (comme nous l'avons mentionné plus haut) l'ont adopté. Sa capacité à assimiler des documents et à répondre à des requêtes de recherche est inégalée.

Installation et maintenance simples

L'installation de Solr est aussi simple que la d√©compression et l'ex√©cution du programme. Pour les syst√®mes simples, √† une seule machine, aucune maintenance d√©licate n'est n√©cessaire ; gardez un Ňďil sur l'utilisation de la RAM, car les solutions de recherche en g√©n√©ral et les technologies bas√©es sur Java en particulier peuvent √™tre tr√®s gourmandes en RAM (parce qu'elles gardent ou essaient de garder tout dans la RAM pour fournir des lectures/√©critures rapides).

Panneau d'administration

Solr est livr√© avec un panneau d'administration qui permet un contr√īle visuel et une configuration. Avec un minimum de formation, m√™me les non-d√©veloppeurs peuvent apprendre √† lire les tableaux cl√©s. Peu de solutions de recherche dans cette liste sont dot√©es d'une telle fonctionnalit√©.

Source de l'image : Site officiel

Orienté API, conforme aux normes

Solr fournit une interface de résultats dans une API qui peut gérer plusieurs formats - JSON, CSV, XML et binaire. Il produit des données de surveillance conformément à la norme JMX, ce qui représente un avantage considérable pour les développeurs Java.

Il y a encore beaucoup à dire en faveur de Solr, mais essayer de tout couvrir nous mènerait à la fin des temps. il suffit de dire que Solr est une solution de premier ordre et que vous ne pouvez jamais vous tromper, quel que soit le type de données avec lequel vous travaillez.

Elasticsearch

Elasticsearch a √©t√©, et est sans doute encore, un pionnier de la recherche de texte libre. En fait, m√™me aujourd'hui, si vous demandez √† un programmeur ou √† un administrateur syst√®me de vous recommander un moteur de recherche, il est fort probable qu'Elasticsearch soit le seul nom qu'il vous donnera. Bien s√Ľr, de nos jours, une part non n√©gligeable d'entre eux recommanderont √©galement quelque chose comme Algolia, mais nous avons d√©j√† expliqu√© ce qu'il en √©tait. ūü§™

Ne vous laissez pas tromper par le bouton "Démarrer l'essai gratuit" dans le graphique ci-dessus. Bien que la technologie de base d'Elasticsearch soit open source et gratuite, l'entreprise tente de monétiser ses efforts et de cibler les entreprises. C'est pourquoi ce que vous voyez ici est en fait la version d'essai de leur service cloud, qui facilite la gestion d'Elasticsearch, en particulier lorsqu'il s'agit de clusters.

Uff, tant d'écheveaux à démêler. Récapitulons : Elasticsearch est open source et gratuit, et tout le monde peut l'installer facilement et l'utiliser sans aucune limite.

Et maintenant, comme prévu, plongeons dans les raisons de choisir Elasticsearch :

  • Moteur de recherche mature et √©prouv√©. Cela signifie que vous avez beaucoup plus de chances de trouver des solutions si vous √™tes confront√© √† des bogues "bizarres".
  • Une attention toute particuli√®re est port√©e au regroupement, √† l'√©volutivit√© et aux √©critures asynchrones.
  • Accessible via une API REST simple (ce que tous les autres ont fini par copier).
  • Orient√© vers les documents mais supporte les sch√©mas si n√©cessaire.
  • R√©sultats incroyablement rapides et pr√©cis. Vitesse de recherche configurable.
  • Unedocumentation exceptionnelle, tant au niveau de la quantit√© que de l'utilit√©.
  • Une plateforme compl√®te de recherche et d'analyse en nuage (la pile ELK), si vous avez envie de payer pour la commodit√©.

Le seul reproche que je ferais √† Elasticsearch est sa consommation massive de m√©moire vive. En tant que consultants, il est d√©j√† difficile de convaincre les clients d'investir dans un serveur co√Ľtant 20 dollars par mois, ce qui est malheureusement loin d'√™tre le cas d'Elasticsearch.

Si vous √™tes curieux d'apprendre Elasticsearch, jetez un coup d'Ňďil √† ce cours Udemy.

Typesense

Typesense est un moteur de recherche léger, simple et puissant. Ceux qui recherchent l'utilité et la simplicité devraient certainement l'essayer.

L'une des meilleures choses √† propos de Typesense est que vous pouvez l'essayer directement sur leur site web. Cela peut vous √©pargner de la frustration et du temps dans les cas o√Ļ vous configurez tout et essayez l'API ... pour d√©couvrir qu'une ou plusieurs des fonctionnalit√©s ne fonctionnent pas comme vous l'auriez souhait√©.

Cela ne veut pas dire qu'il y a des bogues dans le moteur ; c'est simplement que l'approche du moteur peut ne pas correspondre à vos préférences, ou qu'elle peut être carrément en conflit avec votre domaine d'activité. Fautes de frappe, symboles spéciaux, synonymes et autres ... vous pouvez vérifier les résultats que le moteur envoie directement sur la page d'accueil (il utilise pour cela une base de données de livres).

Comme vous pouvez le constater, cette section se trouve juste en dessous de la section sup√©rieure. Dans la bo√ģte de recherche, j'ai entr√© la requ√™te "tra", et en dessous je vois les r√©sultats correspondants de la base de donn√©es de livres (ainsi que les m√©tadonn√©es - nombre total de r√©sultats, page actuelle, etc.)

Typesense a beaucoup d'avantages lorsqu'il s'agit de choisir un moteur de recherche :

  • La technologie qui le sous-tend est enti√®rement ouvert et accueillante.
  • Il est facile de configurer un syst√®me de haute disponibilit√© (HA), si vous en avez besoin.
  • Tol√©rant en ce qui concerne les fautes de frappe et autres bruits dans les requ√™tes de recherche.
  • Un syst√®me de filtrage avanc√© pour ceux qui ont besoin d'un contr√īle fin des r√©sultats de recherche.
  • Une API REST simple, bien que leur documentation vous fera faire des efforts suppl√©mentaires pour la trouver !
  • Des clients(SDK) sont disponibles pour certains des principaux langues (JavaScript, Python, Ruby et PHP).

Enfin, si l'id√©e de mettre en place de nouveaux serveurs vous fatigue, Typesense propose √©galement une offre en nuage o√Ļ le provisionnement se fait en un seul clic. La facturation se fait √† l'heure, et les lectures et √©critures ne sont pas mesur√©es. Franchement, je dirais que c'est la meilleure option pour la plupart des entreprises, √† condition qu'elles aient fix√© les prix √† l'avance et qu'elles se soient assur√©es qu'il s'agit d'un gain net.

Dans l'ensemble, Typesense a beaucoup de sens (sans jeu de mots !) si vous avez besoin de quelque chose de petit, d'élégant, de précis et d'un véritable cheval de bataille.

Sonique

Sonique se targue d'être une alternative à ElasticSaerch qui fonctionne avec "quelques Mo de RAM".

Comment cela est-il possible ?

La machine virtuelle Java (JVM) est connue pour √™tre gourmande en RAM (en g√©n√©ral, le simple fait de d√©marrer la JVM consomme environ 1 Go de RAM) ; il n'est donc pas surprenant qu'un programme cod√© en langage Rust (qui offre aux d√©veloppeurs un contr√īle total et une s√©curit√© de la m√©moire) puisse fonctionner tout aussi rapidement et n'utiliser que quelques Mo de RAM.

Détendez-vous, tout le monde ! Ce n'est que la mascotte du projet.

√Ä l'heure o√Ļ j'√©cris ces lignes, quelques entreprises figurent parmi les utilisateurs, mais je suis s√Ľr qu'il y en a d'autres qui n'ont pas pris la peine d'ajouter leur nom. Je ne me souviens pas comment ni de la p√©riode exacte, mais j'avais d√©j√† rencontr√© Sonic auparavant ; √† l'√©poque, m√™me si j'√©tais heureux de voir une alternative √† faible m√©moire, je pensais qu'elle aurait eu besoin de temps pour se stabiliser et √©liminer les bogues cach√©s. Eh bien, il semble que ce soit plus ou moins le cas ; seul l'avenir nous dira si Sonic deviendra populaire.

D'accord, les longues ruminations mises à part, pourquoi devriez-vous envisager d'utiliser Sonic pour votre organisation/projet ?

Voici quelques raisons :

  • L'empreinte m√©moire est extr√™mement faible, en ce qui concerne les moteurs de recherche.
  • Des biblioth√®ques sont disponibles pour tous les principaux langages de programmation. Node, PHP et Rust sont les langages que les auteurs ont eux-m√™mes publi√©s, tandis que d'autres ont √©t√© cr√©√©s par la communaut√© (r√©jouissez-vous, car les langages exotiques comme Elixir et Nim sont √©galement couverts !)
  • Plusieurs langues sont support√©es (c'√©tait trop pour les compter, mais je pense qu'√† l'heure o√Ļ j'√©cris ces lignes, 40 √† 50 langues sont support√©es).
  • Une surprise ! Vous pouvez m√™me utiliser de nouvelles langues, et le moteur fonctionnera (ūüėāūüėā), bien que vous perdiez certaines fonctions avanc√©es telles que les mots vides.
  • Moteur tr√®s rapide. Si vous consultez leur page GitHub, vous verrez que les temps d'ingestion et de recherche √©taient de l'ordre de la microseconde dans plusieurs cas ! Bien s√Ľr, il s'agissait d'un test sur une seule machine, car la latence du r√©seau ne permettra jamais d'obtenir des chiffres aussi bas.

Si vous voulez voir ce moteur en action, allez sur ce lien (l'une de leurs entreprises utilisatrices) et jouez avec la bo√ģte de recherche qui s'y trouve :

Sonic a certaines limites en tant que moteur de recherche. Les développeurs les ont soulignées et discutées ouvertement sur leur page GitHub. Mon conseil serait d'examiner attentivement cette liste et d'établir que vos cas d'utilisation ne sont pas communs avec leur domaine. Cela dit, tout a des limites ; c'est juste qu'elles sont cachées et que nous ne nous en rendons compte que lorsqu'il est trop tard. C'est pourquoi je considère Sonic comme un excellent choix pour un moteur de recherche.

TNTSearch

Nous avons maintenant une entrée fascinante dans cette liste. La première chose intéressante est que ce moteur de recherche complet, prêt à être mis en production, a été écrit en PHP !

Oui, de tous les langages possibles, PHP. Et je ne dis pas cela parce que je déteste PHP, mais parce que c'est un processus éphémère de par sa conception.

La deuxi√®me chose int√©ressante est leur licence, du moins au moment o√Ļ j'√©cris ces lignes. En fait, la licence elle-m√™me est MIT, donc il n'y a pas de probl√®mes √† ce niveau, mais les auteurs classent ce logiciel comme PS4Ware ; si vous utilisez TNTSearch en production, vous devriez leur envoyer un jeu PS4 ! ūüėāūüėāūüėā Maintenant, ce n'est pas obligatoire, comme l'indique le "devrait", mais c'est dr√īle au-del√† de toute croyance. J'esp√®re aussi qu'ils le feront √©voluer vers une licence PS5, m√™me s'il est trop t√īt pour l'instant.

Quoi qu'il en soit, venant moi-même d'une solide formation en PHP Laravel, j'apprécie grandement les efforts de ces gars. Leur site web ne dit pas grande chose mais semble indiquer qu'ils sont consultants, donc je vous recommande vivement de les contacter si vous avez des projets !

Maintenant, y a-t-il de bonnes raisons d'utiliser TNTSearch dans vos projets ?

Oui, il y en a :

  • Cod√© en PHP, pour PHP, par PHP. L'√©cosyst√®me PHP a besoin de plus de solutions d√©di√©es et de haute qualit√© comme celle-ci.
  • Des fonctionnalit√©s importantes telles que la recherche floue, la recherche g√©ographique et la classification des textes.
  • Facilit√© de changement de l'index de recherche, ce qui est une flexibilit√© majeure manquant √† de nombreuses solutions.
  • Le stemming, le classement BM25 et la tokenisation personnalis√©e garantissent une grande pr√©cision.
  • D√©ploiement facile - comme n'importe quel autre paquet Composer !

Vous pouvez v√©rifier les performances du moteur ici et voir par vous-m√™me √† quel point il est rapide et pr√©cis. J'insiste √† nouveau sur l'aspect PHP : si vous maintenez un projet PHP, vous voulez rester dans les murs de PHP autant que possible (pourquoi ? pensez aux co√Ľts de recyclage). Et pour de tels cas, TNTSearch apporte une proposition de valeur qu'il est difficile de refuser !

Vespa

Vespa est une offre large et lourde. Comme quelques autres entr√©es de cette liste, elle est trop importante pour √™tre d√©crite en quelques mots. Mais je dois essayer, alors je vais le faire ūüôā Vespa est un moteur de recherche, certes, mais l'utiliser comme un moteur de recherche ordinaire revient √† g√Ęcher son potentiel.

Vespa a été conçu pour traiter des quantités infinies de données (Big Data) et fournir des fonctionnalités basées sur l'apprentissage automatique et une personnalisation sans fin en plus de cela.

Vespa se positionne comme un concurrent d'Elasticsearch et des bases de données traditionnelles et fournit une comparaison décente sur ce qu'il faut utiliser et quand.

Comme vous pouvez le constater, plus vous souhaitez vous rapprocher des opérations basées sur l'apprentissage automatique, plus Vespa a du sens. En tant que simple moteur de recherche pour une petite ou moyenne entreprise, je ne pense pas qu'il présente des avantages par rapport à d'autres options.

Maintenant, si vous g√©n√©rez en permanence de grandes quantit√©s de donn√©es et que vous souhaitez am√©liorer la prise de d√©cision gr√Ęce √† l'IA/ML (une description qui correspond √† de nombreuses entreprises SaaS aujourd'hui), voici pourquoi Vespa a beaucoup de sens :

  • Open source : Pas de licences bizarres ni de contrats pi√©g√©s. Et rien √† payer en plus, m√™me si j'insiste toujours pour que les entreprises versent une somme r√©guli√®re aux projets qu'elles utilisent le plus (m√™me 50 $/mois les aideront beaucoup).
  • Temps r√©el : Vespa est vraiment en temps r√©el. Il ne se contente pas d'assimiler, de traiter et de rechercher des donn√©es au fur et √† mesure qu'elles arrivent ; m√™me sa configuration peut √™tre modifi√©e √† la vol√©e.
  • Evolutif et tol√©rant : Vespa est facilement extensible. Il r√©agit √©galement tr√®s bien √† la disparition soudaine de nŇďuds, ce qui lui conf√®re une grande fiabilit√©.
  • Classement et recommandations : La recherche, le classement et les recommandations de Vespa peuvent √™tre fusionn√©s avec des requ√™tes structur√©es pour fournir des r√©sultats vraiment pr√©cis.
  • AI/ML sans douleur : Vespa est livr√© avec des mod√®les ML pr√©-entra√ģn√©s de haute qualit√©. Vous n'avez pas besoin d'embaucher 20 data scientists pour nettoyer et utiliser vos donn√©es.
  • Plugins personnalis√©s : Un ensemble complet d'API aide les d√©veloppeurs √† cr√©er des plugins Java personnalis√©s, s'ils ont besoin de modifier le fonctionnement du moteur.

Vespa est massif, sans aucun doute, donc il est clair pour les équipes qui sont un peu au-delà du niveau de départ - que ce soit la taille de l'équipe, les prouesses techniques, les budgets d'infrastructure, les volumes de données quotidiens, ou autre chose. Pour ce segment, Vespa est un succès et est fortement recommandé.

Conclusion

Search ūüĒé est puissant, Search est magique et Search est partout !

C'est peut-√™tre m√™me de la magie noire, mais aujourd'hui, il n'y a aucune raison pour que tout le monde (avec l'aide d'un d√©veloppeur, bien s√Ľr) ne puisse pas profiter de ses avantages. Qu'il s'agisse d'entreprises, de particuliers ou de gouvernements, les moteurs de recherche pr√©sent√©s dans cette liste offrent un effort presque nul, avec des avantages et un impact exponentiels.

N'hésitez pas à vous procurer un serveur en nuage et à installer les logiciels de recherche de la liste ci-dessus qui vous intéressent.

  • Ankush
    Auteur
    J'écris sur, autour et pour l'écosystème des développeurs. Recommandations, tutoriels, discussions techniques - quoi que je publie, je fais de mon mieux pour dissiper la confusion et le flou, et fournir des réponses concrètes basées sur l'expérience personnelle... en savoir plus
Merci à nos sponsors
D'autres lectures intéressantes sur le développement
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning‚ĄĘ pour v√©rifier automatiquement les vuln√©rabilit√©s identifi√©es et g√©n√©rer des r√©sultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy r√©sidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des donn√©es web.
    Essayez Brightdata
  • Monday.com est un syst√®me d'exploitation tout-en-un qui vous aide √† g√©rer vos projets, vos t√Ęches, votre travail, vos ventes, votre CRM, vos op√©rations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vuln√©rabilit√© en ligne qui d√©tecte les faiblesses de votre infrastructure en mati√®re de cybers√©curit√©, afin d'√©viter des violations de donn√©es co√Ľteuses.
    Essayer l'intrus