Få fantastiske søgeresultater for dit indhold ved hjælp af den samme søgemaskine, som driver Hacker News.
En effektiv søgning er en vigtig funktion i de fleste moderne webapps og websteder. Ved hjælp af Algolia API kan du implementere kraftfuld søgefunktionalitet, der markant forbedrer brugeroplevelsen.
Uanset om du bygger en blog, e-handelsplatform eller en applikation, der har brug for søgning, er Node.js en kraftfuld webteknologi til at gøre det med. Algolia giver dig en fantastisk platform til at bygge et robust søgesystem ovenpå.
Hvad er Algolia?
Algolia er en hostet søgemaskine, der giver dig en platform og værktøjer til at implementere effektive og fleksible søgninger på websteder og applikationer. Algolia har to komponenter: søgning og analyse.
Ved at bruge Algolia kan du skabe fantastiske søgeoplevelser for dine brugere og derefter bruge værktøjer til at analysere og trække meningsfuld indsigt fra din applikation.
Algolia tilbyder også en udvikler-API og understøttende SDK'er for at tillade problemfri integration med apps bygget på forskellige sprog. Dette giver den dobbelte fordel ved en
API til strøm på lavt niveau og et SDK for lettere udvikling af almindelig adfærd.Algolia kræver, at du tilmelder dig en konto for at integrere dens søgning i dine Node.js-apps. Log på Algolia.com at tilmelde dig gratis.
Sådan får du Algolia Developer API-legitimationsoplysninger
For at implementere Algolia-søgning skal du oprette en applikation til dit projekt. Når du tilmelder dig, opretter Algolia en ny applikation kaldet Min første ansøgning for dig, og du kan vælge enten at bruge den eller oprette en ny.
Det er meget nemt at få dine API-legitimationsoplysninger fra dashboardet. Der er en liste over muligheder inkl API nøgler:
Når du klikker på API nøgler, får du vist en side med forskellige legitimationsoplysninger. Alt hvad du behøver for grundlæggende integration er Ansøgnings-id og Admin API nøgle.
Nu hvor du har konfigureret en Algolia-applikation, er du klar til at integrere den i din Node.js-app.
Implementering af søgefunktionalitet med Algolia
Algolia tilbyder et klient-SDK til en bred vifte af programmeringssprog, herunder Node.js, som fortsat er det bedste valg for JavaScript på serversiden. Node.js SDK gør det nemt at bruge Algolia med JavaScript.
Start med at installere algoliasearch npm pakke:
npm installer algoliasearch
Det næste trin er at initialisere klienten i dit projekt. I en fil kaldet algolia.js, import algoliasearch, initialiser derefter en ny klient ved hjælp af dine API-legitimationsoplysninger:
konst Algolia = kræve("algoliasearch")
konst ALGOLIA_APP_ID = 'YOUR_APPLICATION_ID' || proces.env. ALGOLIA_APP_ID
konst ALGOLIA_ADMIN_KEY = 'DIN_ADMIN_NØGLE' || proces.env. ALGOLIA_ADMIN_KEY
konst algoliaClient = ny Algolia (ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY);
Du vil bruge Algolia-klientforekomsten til yderligere operationer i dit projekt.
Algolia bruger søgeindekser til at gemme data, som du kan søge i. Et søgeindeks ligner en databasetabel, som du kan forespørge om at hente data fra. Efter initialisering af din klient skal du oprette et indeks til at gemme data. For eksempel, her er, hvordan du kan oprette et indeks til at opbevare biler:
konst carsIndex = algoliaClient.initIndex("biler")
Denne linje opretter et indeks i din applikation kaldet biler og gemmer en henvisning til det i biler Indeks variabel.
Dernæst skal du tilføje data til dit indeks, så du kan søge efter det. Du bør altid forberede dine data som en række objekter og sikre, at hvert objekt har objekt-ID egenskab for entydigt at identificere den.
Skriv noget kode for at definere de data, du vil tilføje til Algoila-indekset:
konst biler = [
{ objekt-ID: '1', mærke: 'Toyota', model: 'Camry', år: '2022', farve: 'Sølv' },
{ objekt-ID: '2', mærke: 'Honda', model: 'Civic', år: '2021', farve: 'Rød' },
{ objekt-ID: '3', mærke: 'Ford', model: 'Mustang', år: '2020', farve: 'Sort' },
{ objekt-ID: '4', mærke: 'Chevrolet', model: 'Corvette', år: '2023', farve: 'Gul' },
{ objekt-ID: '5', mærke: 'BMW', model: 'X5', år: '2022', farve: 'Hvid' }
];
Algolia bruger gem objekter metode til at tilføje data til et bestemt indeks. Denne funktion accepterer en liste over objekter som argument og returnerer et løfte. Du kan bruge vente søgeord med det, hvis du skal bruge dets outputdata.
Sådan tilføjer du alle bilerne i biler række til biler Indeks i din Algolia-applikation:
carsIndex.saveObjects (biler)
Når du kører denne funktion, skal du vende tilbage til dit applikationsdashboard på Algolia og rulle ned til indekserne. Du finder biler indeks der, og når du klikker på det, vil du se dets data.
Nu hvor du har data i dit indeks, kan du forespørge efter data ved hjælp af forskellige søgemetoder fra Algolia.
For at forespørge data fra biler indeks, kan du bruge Søg metoden for SDK'et og sende en søgeforespørgsel til den som et argument. Funktionen behandler forespørgslen som et regulært udtryk og returnerer hvert match, den finder i indekset.
Følgende kode definerer en funktion til at søge i bilernes indeks ved hjælp af en forespørgsel og udskrive resultaterne.
konst søg Bil = asynkron (forespørgsel) => {
konst data = vente carsIndex.search (forespørgsel)
konsol.log (data.hits)
}
søg Bil('honda')
Når du kører denne kode, vil programmet udskrive bilobjektet, der har et felt, hvis værdi matcher ordet Honda. Outputtet vil se nogenlunde således ud:
Du kan også søge i værdier, der vises i andre egenskaber for objekterne, og funktionen vil returnere hvert match, den finder.
Algolia lader dig gøre egenskaber søgbare eller ej. For eksempel kun at lave mærke og model søgbar i bilernes indeks, kan du bruge sæt Indstillinger funktion til at konfigurere begrænsningen, som koden nedenfor viser.
carsIndex.setSettings({
søgbare attributter: ['brand', 'model'],
})
Dette medfører, at alle andre egenskaber ikke kan søges, så søgeforespørgsler vil kun køre mod mærke og model ejendomme. At ekskludere egenskaber er praktisk, når du bygger produkter fra den virkelige verden, hvor du skal sikre bedste praksis for sikkerhed og forhindre brugere i at få adgang til private data gennem søgning.
Opbygning af effektiv søgefunktionalitet med Algolia
Algolia er en meget kraftfuld teknologi og er et af de bedste valg til implementering af lynhurtig søgning i webapplikationer. Det er også stavefejl-tolerant og giver dig endda mulighed for at justere niveauet af stavefejl-tolerance i din søgning.
Du kan altid stole på søgemaskinens ydeevne i din Node.js-applikation, når du implementerer den med Algolia. Du kan prøve at implementere søgning i en applikation fra den virkelige verden og gennemse dokumentationen for at finde ud af mere om Algolia.