• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • Cela semble intimidant, mais ajouter une fonction de recherche puissante à votre application n'est ni complexe ni fastidieux. Voici quelques recommandations solides!

    Alors que de nombreuses technologies ont impressionné au cours des 2-3 dernières décennies, une recherche fait partie des très rares qui sont devenues partie intégrante de nos vies. Il est partout - sites de commerce électronique, blogs, bases de connaissances, et plus encore - non pas parce qu'un champ de recherche et une icône ont l'air cool, mais parce qu'ils font quelque chose qui est désespérément nécessaire.

    Si vous êtes une entreprise à la recherche d'une bonne solution de recherche ou si vous en avez assez de la vôtre, que faites-vous?

    Heureusement, vous n'avez pas besoin de payer des frais de licence ridicules, ni de maintenir une équipe de 20 développeurs et administrateurs système. Aujourd'hui, j'ai quelques recommandations de moteurs de recherche qui peuvent être installées et intégrées en un rien de temps, en particulier par les petites entreprises avec promoteur équipes de taille 1-2.

    MeiliRecherche

    L'un des moteurs de recherche les meilleurs et les plus rentables que vous rencontrerez est MeiliRecherche.

    Alors, qu'est-ce qui me fait lister MeiliSearch parmi mes meilleures recommandations?

    Voici.

    Open source

    Tout le code source qui alimente MeiliSearch est disponible en plein air sur GitHub. Cela signifie que les développeurs peuvent examiner eux-mêmes n'importe quelle partie du code. En retour, les entreprises peuvent être assurées de la qualité et de l'intention (pas de backdoors ou de scanner dans le programme, par exemple). Et, bien sûr, des développeurs expérimentés peuvent aider à améliorer encore plus la technologie.

    Grande UX

    MeiliSearch n'a pas de règles complexes (comme «a - b» signifie a mais pas b). Tapez simplement votre recherche naturellement et les résultats commenceront à s'afficher de manière fluide. Le moteur est très tolérant et accommodant, offrant 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.

    Grand DevEx

    Les développeurs adoreront MeiliSearch! Ce n'est pas seulement personnalisable et évolutif, mais des interfaces en tant qu'API REST! Documentation est également excellent et complet. 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. A ce titre, MeiliSearch coche toutes les cases! Lorsque vous êtes heureux de continuer, lancez-vous DigitalOcean en un clic.

    Solr

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

    Il est utilisé par des mastodontes 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 - enfin, parfois c'est bien) et utiliser cette centrale appelée Solr.

    Alors, pourquoi utiliser Solr?

    Voici quelques excellentes raisons.

    Précis et puissant

    Solr fait partie des systèmes de recherche les plus précis, les plus performants et les plus puissants au monde. De plus, il est open-source, ce qui explique pourquoi de grands noms (comme mentionné précédemment) se sont lancés dans cette voie. Sa capacité à digérer les documents et à répondre aux requêtes de recherche est incomparable.

    Installation et maintenance simples

    L'installation de Solr est aussi simple que de décompresser et d'exécuter le programme. Pour les systèmes simples à une seule machine, aucune maintenance délicate n'est requise; 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 assez gourmandes en RAM (car elles gardent ou essaient de tout garder dans la RAM pour fournir des lectures / écritures rapides).

    panneau d'administration

    Solr est livré avec un panneau d'administration qui permet la surveillance et la configuration visuelles. Avec une formation insignifiante, même les non-développeurs peuvent apprendre à lire les graphiques clés. Peu de solutions de recherche de cette liste sont dotées de fonctionnalités comme celle-ci.

    Source de l'image: site officiel

    Piloté par API, conforme aux normes

    Solr fournit une interface de résultat dans une API qui peut gérer plusieurs formats - JSON, CSV, XML et binaire. Il génère des données de surveillance conformément à la norme JMX, un énorme avantage pour les développeurs Java.

    Il y a beaucoup plus à dire en faveur de Solr, mais essayer de tout couvrir nous mènera à 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 était, et est sans doute toujours, un pionnier de la recherche de texte libre. En fait, même aujourd'hui, si vous demandez à un programmeur ou à un administrateur système une recommandation sur les moteurs de recherche, Elasticsearch est très probablement le uniquement. nom qu'ils trouveront. Bien sûr, ces jours-ci, une bonne partie recommandera quelque chose comme Algolia aussi, mais nous avons déjà expliqué comment cela se passe. 🤪

    Ne vous laissez pas induire en erreur par le bouton «Démarrer l'essai gratuit» dans le graphique ci-dessus. Alors que le noyau ElasticSearch la technologie elle-même est open source et gratuite, l'entreprise essaie de monétiser ses efforts et de cibler les entreprises. Par conséquent, ce que vous voyez ici est en fait le test de leur service cloud, ce qui facilite la gestion d'Elasticsearch, en particulier lorsque des clusters sont impliqués.

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

    Et maintenant, comme prévu, plongeons dans les raisons du choix d'Elasticsearch:

    • Mature, testé au combat moteur de recherche. Cela signifie que vous êtes beaucoup plus susceptible de trouver des solutions si vous êtes coincé avec des bogues «étranges».
    • Focus de première classe sur regroupement, l'évolutivité et les écritures asynchrones.
    • Accessible via un API REST simple (ce que tout le monde a fini par copier).
    • Orienté document mais prend en charge le schéma si besoin.
    • Follement rapide et précis résultats. configurable vitesse de recherche.
    • Documentation stellaire, en quantité ainsi qu'en utilité.
    • Une recherche et une analyse complète plateforme cloud (les Pile ELK), si vous avez envie de payer pour la commodité.

    Le seul petit choix que j'aurais contre Elasticsearch est la consommation massive de RAM. Je veux dire, en tant que consultants, il est déjà assez difficile de convaincre les clients d'investir dans un serveur coûtant 20 $ / mois, ce qui est malheureusement loin d'être à la hauteur de ce qu'Elasticsearch exige.

    Si vous êtes curieux d'apprendre Elasticsearch, consultez ceci Cours Udemy.

    Typesense

    Typesense est un moteur de recherche léger, simple mais puissant. Ceux qui recherchent l'utilité et la simplicité devraient absolument essayer celui-ci.

    L'une des meilleures choses à propos de Typesense est que vous pouvez l'essayer directement sur leur site Web. Cela peut économiser du temps et de la frustration dans les cas où vous configurez tout et essayez l'API. . . seulement pour constater qu'une ou plusieurs fonctionnalités ne fonctionnent pas comme vous l'auriez souhaité.

    Cela ne veut pas dire qu'il pourrait y avoir des bogues dans le moteur; c'est juste que la vision du moteur sur quelque chose n'est peut-être pas votre préférence, ou elle peut être totalement en conflit avec le domaine de votre entreprise. Fautes de frappe, symboles spéciaux, synonymes, etc. . . vous pouvez vérifier les résultats que le moteur lance directement sur la page d'accueil (ils utilisent une base de données de livres pour cela).

    Comme vous pouvez le voir, cette section est juste en dessous de la plus haute. Dans la zone de recherche, j'ai entré la requête «tra», et ci-dessous je vois les résultats correspondants de la base de données des livres (ainsi que les métadonnées - résultats totaux, page actuelle, etc.).

    Typesense a beaucoup à offrir lorsqu'il s'agit d'un moteur de recherche de choix:

    • La technologie derrière elle est entièrement open source et accueillant.
    • Facile à configurer et HA (haute disponibilité) configuration, si vous en avez besoin.
    • Tolérant quand il s'agit de fautes de frappe et autres bruits dans les requêtes de recherche.
    • An filtrage avancé système pour ceux qui ont besoin d'un contrôle précis sur les résultats de la recherche.
    • Simple API REST, bien que leurs documents vous obligent à travailler très dur pour le trouver!
    • Clients (SDK) sont disponibles pour certains des principaux langues (JavaScript, Python, Ruby et PHP).

    Enfin, si vous trouvez l'idée de mettre en place de nouveaux serveurs fatigante, Typesense a aussi un offre cloud où l'approvisionnement prend un seul clic. La facturation se fait à l'heure et en lecture, et les écritures ne sont pas mesurées. Franchement, je dirai que c'est la meilleure option pour la plupart des entreprises, à condition qu'elles aient déterminé les prix à l'avance et s'assurent 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, élégant, précis et un vrai bourreau de travail.

    Sonique

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

    Comment est-ce possible?

    Eh bien, la machine virtuelle Java (JVM) est connue pour être gourmande en RAM (généralement, le simple démarrage de la JVM consomme environ 1 Go de RAM); Il n'est donc pas surprenant que quelque chose de codé en langage Rust (qui offre un contrôle total et une sécurité de la mémoire aux développeurs) puisse fonctionner aussi vite et n'utiliser que quelques Mo de RAM.

    Détendez-vous, tout le monde! C'est juste la mascotte du projet.

    Au moment d'écrire ces lignes, quelques entreprises sont répertoriées parmi ses utilisateurs, même si je suis sûr qu'il y en a quelques autres qui n'ont pas pris la peine d'ajouter leurs noms. Je ne me souviens pas comment ni de la période exacte, mais j'ai rencontré Sonic plus tôt; à ce moment-là, alors que j'étais heureux de voir une alternative à faible mémoire, j'ai pensé qu'il faudrait du temps pour stabiliser et aplanir les bogues cachés. Eh bien, on dirait qu'ils sont plus ou moins arrivés; Seul le temps nous le dira à quel point Sonic devient populaire.

    D'accord, si longtemps mis à part, pourquoi devriez-vous envisager d'utiliser Sonic pour votre organisation / projet?

    Voici quelques raisons:

    • Extrêmement peu de mémoire empreinte, dans la mesure où les moteurs de recherche vont.
    • Les bibliothèques sont disponibles pour tous les principaux langages de programmation. Node, PHP et Rust sont ce que les auteurs eux-mêmes ont publié, tandis que d'autres ont été créés par la communauté (réjouissez-vous, car des raies exotiques comme Elixir et Nim sont également couvertes!).
    • Plusieurs langues sont pris en charge (c'était trop compter, mais je pense qu'au moment de la rédaction, 40 à 50 langues sont prises en charge).
    • Une surprise! Vous pouvez même utiliser nouvelles langues, et le moteur fonctionnera (😂😂), même si vous perdrez certaines fonctions avancées telles que les mots vides.
    • Très moteur rapide. Si vous consultez leur page GitHub, vous verrez que les temps d'ingestion et de recherche étaient en microsecondes dans plusieurs cas! Bien sûr, il s'agissait d'un test sur une seule machine, car la latence du réseau ne laissera jamais les chiffres être aussi bas.

    Si vous souhaitez voir ce moteur en action, accédez à précise lien (l'une de leurs entreprises utilisatrices) et jouez avec le champ de recherche que vous voyez ici:

    Il existe certaines limites à Sonic en tant que moteur de recherche. Les développeurs les ont mis en évidence et en ont discuté ouvertement sur leur page GitHub. Mon conseil serait d'examiner attentivement cette liste et d'établir que vos cas d'utilisation ne sont pas en commun avec leur domaine. Cela dit, tout a des limites; c'est juste qu'ils sont gardés cachés, et nous ne nous en rendons pas compte avant qu'il ne soit trop tard. Par conséquent, je considère Sonic comme un excellent choix pour un moteur de recherche.

    TNTRecherche

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

    Oui, de tous les langages possibles, PHP. Et je dis cela non pas parce que je déteste PHP, mais parce que c'est un processus de courte durée par conception.

    La deuxième chose intéressante est leur licence, du moins au moment de l'écriture. En fait, la licence elle-même est MIT, donc il n'y a pas de problèmes là-bas, mais les auteurs classent ce logiciel comme PS4Ware; si tu utilises TNTRecherche 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 également qu'ils le mettront à niveau vers une licence PS5, même s'il est trop tôt pour le moment.

    Quoi qu'il en soit, étant moi-même issu d'une solide expérience PHP + Laravel, j'apprécie beaucoup les efforts de ces gars. Leur site ne dit pas grand-chose mais semble indiquer qu'ils sont des consultants, donc je vous recommande fortement 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. le Écosystème PHP a besoin de solutions plus dédiées et de haute qualité comme celle-ci.
    • Des fonctionnalités importantes telles que recherche floue, recherche géographiqueainsi que classification de texte.
    • Facile de modification le index de recherche, qui est une flexibilité majeure absente de nombreuses solutions.
    • Stemming, classement BM25 et tokenisation personnalisée garantissent haute précision.
    • Déploiement facile - comme n'importe quel autre package Composer!

    Vous pouvez vérifier les performances du moteur ici et voyez par vous-même à quel point il est rapide et précis. Je soulignerais à nouveau l'aspect PHP: si vous maintenez un projet PHP, vous voulez rester autant que possible dans les murs PHP (pourquoi? Pensez aux coûts de re-formation). Et pour de tels cas, TNTSearch apporte une proposition de valeur difficile à refuser!

    Vespa

    Vespa est une offre large et lourde. Comme quelques autres entrées de cette liste, elle est trop volumineuse pour être capturée en quelques mots. Mais je dois essayer, donc je le ferai. 🙂 Vespa est un moteur de recherche, bien sûr, mais l'utiliser comme un moteur de recherche ordinaire gaspillera son potentiel.

    Vespa a été conçu pour gérer 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 voir, plus vous souhaitez obtenir des opérations basées sur l'apprentissage automatique, plus Vespa a de sens. En tant que moteur de recherche pur pour une petite ou moyenne entreprise, je ne pense pas qu'il présente d'avantages par rapport aux autres options.

    Maintenant, étant donné que vous générez de grandes quantités de données en continu et que vous souhaitez améliorer la prise de décision grâce AI / ML (une description qui convient à de nombreuses entreprises SaaS aujourd'hui), voici pourquoi Vespa a beaucoup de sens:

    • Open source: Pas de licences étranges et pas de contrats de piégeage. Et rien à payer en plus, même si je souligne toujours que les entreprises paient 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 peut pas seulement digérer, analyser et rechercher les données au fur et à mesure qu'elles arrivent; même sa configuration peut être modifiée à la volée.
    • Évolutif et tolérant: La Vespa est simple à l'échelle. Il répond également très bien à la disparition brutale des nœuds, offrant une grande fiabilité.
    • Classement et recommandations: La recherche, le classement et les recommandations Vespa peuvent être fusionnés avec des requêtes structurées pour fournir des résultats vraiment précis.
    • AI / ML indolore: 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:  Il existe un ensemble complet d'API qui aident les développeurs à créer des plugins Java personnalisés, s'ils ont besoin de modifier le fonctionnement du moteur.

    Vespa est énorme, sans aucun doute, donc c'est clair pour les équipes qui sont un peu au-delà du niveau de départ - qu'il s'agisse de la taille de l'équipe, des prouesses technologiques, des budgets d'infrastructure, des volumes de données quotidiens ou autre. Pour ce segment, Vespa frappera un home run et est fortement recommandé.

    Ambar

    Pour certaines entreprises, les données de recherche ne sont pas déjà parfaitement transformées et stockées sous forme de documents JSON; c'est plutôt un désordre dans le vrai sens du mot - une collection chaotique de toutes sortes de documents tels que Word, PDF, HTML, etc. Si vous êtes l'un d'entre eux et pensez qu'il n'y a aucun espoir pour vous, eh bien, dites bonjour à Ambar!

    La meilleure chose à propos de Ambar est le type de fichiers volumineux avec lequel il peut fonctionner:

    • Formats de fichiers MS Office (.docx, .xlsx, etc.), y compris PowerPoint, Visio et Publisher!
    • Formats de fichiers OpenOffice
    • Documents PDF avec OCR automatique appliquée pour extraire les informations.
    • Images
    • Formats d'archive de courrier électronique tels que PST (bonjour, utilisateurs d'Outlook!)
    • Messages électroniques avec pièces jointes

    Les goodies ne s'arrêtent pas là non plus. Ambar est capable de travailler avec des fichiers volumineux (plus de 30 Mo), des archives ZIP et le multithreading pour une utilisation complète du processeur et des résultats plus rapides. Donc, si vous avez des années de documents sur un disque sur un serveur oublié, il est temps de les ramener et de tout envoyer à Ambar!

    Conclusion

    La recherche 🔎 est puissante, la recherche est magique, la recherche 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 en profiter. Des entreprises aux particuliers en passant par les gouvernements, les moteurs de recherche de cette liste offrent une offre presque sans effort qui a des avantages et un impact exponentiels.

    Allez-y et obtenez un serveur cloud et installez le logiciel de recherche ci-dessus que vous aimez utiliser.