Obtenez d'excellents résultats de recherche pour votre contenu en utilisant le même moteur de recherche qui alimente Hacker News.
Une recherche efficace est une caractéristique essentielle de la plupart des applications et sites Web modernes. À l'aide de l'API Algolia, vous pouvez implémenter une fonctionnalité de recherche puissante qui améliore considérablement l'expérience utilisateur.
Que vous créiez un blog, une plate-forme de commerce électronique ou toute application nécessitant une recherche, Node.js est une technologie Web puissante pour le faire. Algolia vous offre une excellente plate-forme pour créer un système de recherche robuste.
Qu'est-ce que l'Algolie?
Algolia est un moteur de recherche hébergé qui vous fournit une plate-forme et des outils pour mettre en œuvre des recherches efficaces et flexibles sur des sites Web et des applications. Algolia a deux composants: la recherche et l'analyse.
En utilisant Algolia, vous pouvez créer d'excellentes expériences de recherche pour vos utilisateurs, puis utiliser des outils pour analyser et tirer des informations significatives de votre application.
Algolia propose également une API de développeur et des SDK de support pour permettre une intégration transparente avec des applications construites dans différents langages. Cela donne le double avantage d'un API pour la puissance de bas niveau et un SDK pour un développement plus facile du comportement commun.
Algolia vous oblige à créer un compte pour intégrer sa recherche dans vos applications Node.js. Connectez-vous sur Algolia.com pour vous inscrire gratuitement.
Comment obtenir les informations d'identification de l'API Algolia Developer
Pour implémenter la recherche Algolia, vous devez créer une application pour votre projet. Lors de votre inscription, Algolia crée une nouvelle application appelée Ma première candidature pour vous, et vous pouvez choisir de l'utiliser ou d'en créer un nouveau.
Obtenir vos informations d'identification API est très facile à partir du tableau de bord. Il existe une liste d'options, y compris Clés API:
Lorsque vous cliquez sur Clés API, vous verrez une page avec différentes informations d'identification. Tout ce dont vous avez besoin pour l'intégration de base sont les ID d'application et Clé API d'administration.
Maintenant que vous avez configuré une application Algolia, vous êtes prêt à l'intégrer dans votre application Node.js.
Implémentation de la fonctionnalité de recherche avec Algolia
Algolia propose un SDK client pour une large gamme de langages de programmation, y compris Node.js qui reste le premier choix pour JavaScript côté serveur. Le SDK Node.js facilite l'utilisation d'Algolia avec JavaScript.
Commencez par installer le algoliasearch paquet npm :
npm installer algoliasearch
L'étape suivante consiste à initialiser le client dans votre projet. Dans un fichier nommé algolia.js, importer algoliasearch, puis initialisez un nouveau client à l'aide de vos identifiants d'API :
constante Algolie = exiger("algoliasearch")
constante ALGOLIA_APP_ID = 'VOTRE_ID_APPLICATION' || processus.env. ALGOLIA_APP_ID
constante ALGOLIA_ADMIN_KEY = 'VOTRE_CLÉ_ADMINISTRATIVE' || processus.env. ALGOLIA_ADMIN_KEY
constante algoliaClient = nouveau Algolia (ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY);
Vous utiliserez l'instance client Algolia pour d'autres opérations dans votre projet.
Algolia utilise des index de recherche pour stocker des données que vous pouvez rechercher. Un index de recherche est similaire à une table de base de données que vous pouvez interroger pour extraire des données. Après avoir initialisé votre client, vous devez créer un index pour stocker les données. Par exemple, voici comment créer un index pour stocker des voitures :
constante carsIndex = algoliaClient.initIndex("voitures")
Cette ligne crée un index dans votre application appelé voitures et stocke une référence à celui-ci dans le voituresIndex variable.
Ensuite, vous devez ajouter des données à votre index afin de pouvoir les rechercher. Vous devez toujours préparer vos données sous la forme d'un tableau d'objets et vous assurer que chaque objet a le ID d'objet propriété pour l'identifier de manière unique.
Écrivez du code pour définir les données que vous souhaitez ajouter à l'index Algoila :
constante voitures = [
{ ID d'objet: '1', marque: "Toyota", modèle: 'Camry', année: '2022', couleur: 'Argent' },
{ ID d'objet: '2', marque: "Honda", modèle: 'Civique', année: '2021', couleur: 'Rouge' },
{ ID d'objet: '3', marque: 'Gué', modèle: 'Mustang', année: '2020', couleur: 'Noir' },
{ ID d'objet: '4', marque: 'Chevrolet', modèle: 'Corvette', année: '2023', couleur: 'Jaune' },
{ ID d'objet: '5', marque: 'BMW', modèle: 'X5', année: '2022', couleur: 'Blanc' }
];
Algolia utilise le saveObjects méthode pour ajouter des données à un index spécifique. Cette fonction accepte une liste d'objets comme argument et renvoie une promesse. Vous pouvez utiliser le attendre mot-clé avec lui si vous avez besoin d'utiliser ses données de sortie.
Voici comment vous ajouteriez toutes les voitures dans le voitures tableau à la voituresIndex dans votre application Algolia :
carsIndex.saveObjects (voitures)
Lorsque vous exécutez cette fonction, revenez au tableau de bord de votre application sur Algolia et faites défiler jusqu'aux indices. Vous trouverez le voitures indexez-le et, lorsque vous cliquez dessus, vous verrez ses données.
Maintenant que vous avez des données dans votre index, vous pouvez les interroger à l'aide des différentes méthodes de recherche fournies par Algolia.
Pour interroger les données du voitures index, vous pouvez utiliser le recherche méthode du SDK et lui transmettre une requête de recherche en tant qu'argument. La fonction traite la requête comme une expression régulière et renvoie chaque correspondance qu'elle trouve dans l'index.
Le code suivant définit une fonction pour rechercher l'index des voitures à l'aide d'une requête et imprimer les résultats.
constante searchCar = asynchrone (requête) => {
constante données = attendre carsIndex.search (requête)
console.log (données.hits)
}
rechercherVoiture('honda')
Lorsque vous exécutez ce code, le programme imprimera l'objet voiture qui a un champ dont la valeur correspond au mot Honda. La sortie ressemblera à ceci :
Vous pouvez également rechercher des valeurs qui apparaissent dans d'autres propriétés des objets, et la fonction renverra chaque correspondance trouvée.
Algolia vous permet de rendre les propriétés consultables ou non. Par exemple, faire seulement marque et modèle consultable dans l'index des voitures, vous pouvez utiliser le setSettings fonction pour configurer la restriction comme le montre le code ci-dessous.
voituresIndex.setSettings({
Attributs de recherche: ['marque', 'modèle'],
})
Cela rend impossible la recherche de toutes les autres propriétés, de sorte que les requêtes de recherche ne s'exécuteront que sur le marque et modèle propriétés. L'exclusion de propriétés est pratique lorsque vous créez des produits du monde réel où vous devez vous assurer meilleures pratiques de sécurité et empêcher les utilisateurs d'accéder aux données privées via la recherche.
Construire une fonctionnalité de recherche efficace avec Algolia
Algolia est une technologie très puissante et est l'un des meilleurs choix pour la mise en œuvre d'une recherche ultra-rapide dans les applications Web. Il est également tolérant aux fautes de frappe et vous permet même d'ajuster le niveau de tolérance aux fautes de frappe dans votre recherche.
Vous pouvez toujours faire confiance aux performances du moteur de recherche dans votre application Node.js lorsque vous l'implémentez avec Algolia. Vous pouvez essayer d'implémenter la recherche dans une application réelle et parcourir la documentation pour en savoir plus sur Algolia.