Получете страхотни резултати от търсенето за вашето съдържание, като използвате същата търсачка, която захранва Hacker News.
Ефективното търсене е жизненоважна характеристика на повечето съвременни уеб приложения и сайтове. Използвайки API на Algolia, можете да внедрите мощна функционалност за търсене, която значително подобрява потребителското изживяване.
Независимо дали създавате блог, платформа за електронна търговия или друго приложение, което се нуждае от търсене, Node.js е мощна уеб технология, с която можете да го направите. Algolia ви предоставя страхотна платформа, върху която да изградите стабилна система за търсене.
Какво е алголия?
Algolia е хоствана търсачка, която ви предоставя платформа и инструменти за прилагане на ефективни и гъвкави търсения в уебсайтове и приложения. Algolia има два компонента: търсене и анализ.
Използвайки Algolia, можете да създадете страхотни изживявания при търсене за вашите потребители и след това да използвате инструменти за анализ и извличане на значима информация от вашето приложение.
Algolia също предлага API за разработчици и поддържащи SDK, за да позволи безпроблемна интеграция с приложения, създадени на различни езици. Това дава двойна полза от API за мощност на ниско ниво и SDK за по-лесно разработване на обичайно поведение.
Algolia изисква да се регистрирате за акаунт, за да интегрирате търсенето му във вашите приложения Node.js. Влезте в Algolia.com да се регистрирате безплатно.
Как да получите идентификационни данни за API на разработчици на Algolia
За да приложите Algolia търсене, трябва да създадете приложение за вашия проект. Когато се регистрирате, Algolia създава ново приложение, наречено Първото ми приложение за вас и можете да изберете да го използвате или да създадете нов.
Получаването на вашите идентификационни данни за API е много лесно от таблото за управление. Има списък с опции, включително API ключове:
Когато щракнете върху API ключове, ще видите страница с различни идентификационни данни. Всичко, от което се нуждаете за основна интеграция, са ID на приложението и Администраторски API ключ.
Сега, след като сте настроили приложение Algolia, вие сте готови да го интегрирате във вашето приложение Node.js.
Внедряване на функционалност за търсене с Algolia
Algolia предлага клиентски SDK за широк набор от езици за програмиране, включително Node.js, който остава най-добрият избор за JavaScript от страна на сървъра. Node.js SDK улеснява използването на Algolia с JavaScript.
Започнете с инсталирането на algoliasearch npm пакет:
npm инсталирайте algoliasearch
Следващата стъпка е да инициализирате клиента във вашия проект. Във файл, наречен algolia.js, внос algoliasearch, след това инициализирайте нов клиент, като използвате вашите API идентификационни данни:
конст Алголия = изискват("algoliasearch")
конст ALGOLIA_APP_ID = „YOUR_APPLICATION_ID“ || process.env. ALGOLIA_APP_ID
конст ALGOLIA_ADMIN_KEY = „YOUR_ADMIN_KEY“ || process.env. ALGOLIA_ADMIN_KEY
конст алголияКлиент = нов Algolia (ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY);
Ще използвате клиентския екземпляр на Algolia за по-нататъшни операции във вашия проект.
Algolia използва индекси за търсене, за да съхранява данни, които можете да търсите. Индексът за търсене е подобен на таблица в база данни, от която можете да правите заявки, за да извлечете данни. След като инициализирате вашия клиент, трябва да създадете индекс за съхраняване на данни. Например, ето как можете да създадете индекс за съхраняване на автомобили:
конст carsIndex = algoliaClient.initIndex("коли")
Този ред създава индекс във вашето приложение, наречено автомобили и съхранява препратка към него в carsIndex променлива.
След това трябва да добавите данни към вашия индекс, за да можете да ги търсите. Винаги трябва да подготвяте данните си като масив от обекти и да се уверите, че всеки обект има objectID свойство за уникалното му идентифициране.
Напишете код, за да дефинирате данните, които искате да добавите към индекса Algoila:
конст автомобили = [
{ objectID: '1', марка: "Тойота", модел: "Камри", година: '2022', цвят: "сребро" },
{ objectID: '2', марка: "Хонда", модел: "Civic", година: '2021', цвят: 'Червен' },
{ objectID: '3', марка: "Форд", модел: "Мустанг", година: '2020', цвят: "черно" },
{ objectID: '4', марка: "Шевролет", модел: "Корвет", година: '2023', цвят: "жълт" },
{ objectID: '5', марка: 'BMW', модел: "X5", година: '2022', цвят: "бяло" }
];
Algolia използва saveObjects метод за добавяне на данни към конкретен индекс. Тази функция приема списък с обекти като аргумент и връща обещание. Можете да използвате изчакайте ключова дума с него, ако трябва да използвате неговите изходни данни.
Ето как бихте добавили всички автомобили в автомобили масив към carsIndex във вашето приложение Algolia:
carsIndex.saveObjects (коли)
Когато стартирате тази функция, върнете се към таблото за управление на вашето приложение в Algolia и превъртете надолу до индексите. Ще намерите автомобили индекс там и когато щракнете върху него, ще видите неговите данни.
Сега, след като имате данни във вашия индекс, можете да поискате данни в него, като използвате различни методи за търсене, предоставени от Algolia.
За да поискате данни от автомобили индекс, можете да използвате Търсене метод на SDK и му подайте заявка за търсене като аргумент. Функцията третира заявката като регулярен израз и връща всяко съвпадение, което намери в индекса.
Следният код дефинира функция за търсене в индекса на автомобилите с помощта на заявка и отпечатване на резултатите.
конст searchCar = асинхронен (заявка) => {
конст данни = изчакайте carsIndex.search (заявка)
конзола.log (data.hits)
}
searchCar("хонда")
Когато стартирате този код, програмата ще отпечата обекта кола, който има поле, чиято стойност съвпада с думата Хонда. Резултатът ще изглежда нещо подобно:
Можете също така да търсите стойности, които се появяват в други свойства на обектите, и функцията ще върне всяко съвпадение, което намери.
Algolia ви позволява да направите имотите достъпни за търсене или не. Например, да направите само марка и модел можете да търсите в индекса на автомобили, можете да използвате setSettings функция за конфигуриране на ограничението, както показва кодът по-долу.
carsIndex.setSettings({
searchableAttributes: ['марка', 'модел'],
})
Това кара всяко друго свойство да не може да се търси, така че заявките за търсене ще се изпълняват само срещу марка и модел Имоти. Изключването на свойства е полезно, когато изграждате продукти от реалния свят, където трябва да гарантирате най-добри практики за сигурност и предотвратяване на достъп на потребителите до лични данни чрез търсене.
Изграждане на ефективна функционалност за търсене с Algolia
Algolia е много мощна технология и е един от най-добрите избори за внедряване на светкавично бързо търсене в уеб приложения. Той също така е толерантен към печатни грешки и дори ви позволява да регулирате нивото на толерантност към печатни грешки при вашето търсене.
Винаги можете да се доверите на производителността на търсачката във вашето приложение Node.js, когато го внедрите с Algolia. Можете да опитате да приложите търсене в приложение от реалния свят и да прегледате документацията, за да откриете повече за Algolia.