Obtenga excelentes resultados de búsqueda para su contenido utilizando el mismo motor de búsqueda que impulsa Hacker News.

Una búsqueda eficiente es una característica vital de la mayoría de las aplicaciones y sitios web modernos. Con la API de Algolia, puede implementar una potente funcionalidad de búsqueda que mejora significativamente la experiencia del usuario.

Ya sea que esté creando un blog, una plataforma de comercio electrónico o cualquier aplicación que necesite búsqueda, Node.js es una poderosa tecnología web para hacerlo. Algolia le proporciona una gran plataforma para construir un sistema de búsqueda sólido.

¿Qué es Algolia?

Algolia es un motor de búsqueda alojado que le brinda una plataforma y herramientas para implementar búsquedas eficientes y flexibles en sitios web y aplicaciones. Algolia tiene dos componentes: búsqueda y análisis.

Con Algolia, puede crear excelentes experiencias de búsqueda para sus usuarios y luego usar herramientas para analizar y extraer información significativa de su aplicación.

instagram viewer

Algolia también ofrece una API para desarrolladores y SDK compatibles para permitir una integración perfecta con aplicaciones creadas en varios idiomas. Esto proporciona el doble beneficio de un API para potencia de bajo nivel y un SDK para facilitar el desarrollo de un comportamiento común.

Algolia requiere que se registre para obtener una cuenta para integrar su búsqueda en sus aplicaciones Node.js. Ingrese a Algolia.com para registrarse gratis.

Cómo obtener las credenciales de la API de desarrollador de Algolia

Para implementar la búsqueda de Algolia, debe crear una aplicación para su proyecto. Cuando te registras, Algolia crea una nueva aplicación llamada Mi primera aplicación para usted, y puede optar por usarlo o crear uno nuevo.

Obtener sus credenciales de API es muy fácil desde el tablero. Hay una lista de opciones que incluyen Claves API:

Cuando haces clic en Claves API, verá una página con diferentes credenciales. Todo lo que necesita para la integración básica son los ID de aplicación y Clave API de administrador.

Ahora que ha configurado una aplicación de Algolia, está listo para integrarla en su aplicación Node.js.

Implementando la funcionalidad de búsqueda con Algolia

Algolia ofrece un SDK de cliente para una amplia gama de lenguajes de programación, incluido Node.js, que sigue siendo la mejor opción para JavaScript del lado del servidor. El SDK de Node.js facilita el uso de Algolia con JavaScript.

Comience instalando el búsqueda de algolia paquete npm:

npm instalar algoliasearch

El siguiente paso es inicializar el cliente en su proyecto. En un archivo llamado algolia.js, importar búsqueda de algolia, luego inicialice un nuevo cliente usando sus credenciales de API:

constante Algolia = requerir("búsqueda de algolia")

constante ALGOLIA_APP_ID = 'TU_ID_APLICACIÓN' || proceso.env. ALGOLIA_APP_ID
constante ALGOLIA_ADMIN_KEY = 'TU_CLAVE_ADMIN_ || proceso.env. ALGOLIA_ADMIN_KEY

constante algoliaCliente = nuevo Algolia (ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY);

Utilizará la instancia de cliente de Algolia para otras operaciones en su proyecto.

Algolia usa índices de búsqueda para almacenar datos que puede buscar. Un índice de búsqueda es similar a una tabla de base de datos que puede consultar para obtener datos. Después de inicializar su cliente, debe crear un índice para almacenar datos. Por ejemplo, así es como puede crear un índice para almacenar automóviles:

constante carsIndex = algoliaClient.initIndex("carros")

Esta línea crea un índice en su aplicación llamado carros y almacena una referencia a él en el cochesÍndice variable.

A continuación, debe agregar datos a su índice para que pueda buscarlos. Siempre debe preparar sus datos como una matriz de objetos y asegurarse de que cada objeto tenga la ID de objeto propiedad para identificarla de manera única.

Escriba un código para definir los datos que desea agregar al índice de Algoila:

constante coches = [
{ ID de objeto: '1', marca: 'Toyota', modelo: 'Camry', año: '2022', color: 'Plata' },
{ ID de objeto: '2', marca: 'honda', modelo: 'Cívico', año: '2021', color: 'Rojo' },
{ ID de objeto: '3', marca: 'Vado', modelo: 'Mustango', año: '2020', color: 'Negro' },
{ ID de objeto: '4', marca: 'Chevrolet', modelo: 'Corbeta', año: '2023', color: 'Amarillo' },
{ ID de objeto: '5', marca: 'BMW', modelo: 'X5', año: '2022', color: 'Blanco' }
];

Algolia utiliza el guardarObjetos método para agregar datos a un índice específico. Esta función acepta una lista de objetos como argumento y devuelve una promesa. Puedes usar el esperar palabra clave con él si necesita usar sus datos de salida.

Así es como agregaría todos los autos en el carros matriz a la cochesÍndice en su aplicación Algolia:

carsIndex.saveObjects (automóviles)

Cuando ejecute esta función, regrese al panel de su aplicación en Algolia y desplácese hacia abajo hasta los índices. Encontrarás el carros index allí y, al hacer clic en él, verás sus datos.

Ahora que tiene datos en su índice, puede consultarlos utilizando varios métodos de búsqueda proporcionados por Algolia.

Para consultar datos de la carros índice, puede utilizar el buscar del SDK y pasarle una consulta de búsqueda como argumento. La función trata la consulta como una expresión regular y devuelve todas las coincidencias que encuentra en el índice.

El siguiente código define una función para buscar en el índice de autos mediante una consulta e imprimir los resultados.

constante buscarcoche = asíncrono (consulta) => {
constante datos = esperar carsIndex.search (consulta)
consola.log (datos.hits)
}

buscarcoche('honda')

Cuando ejecuta este código, el programa imprimirá el objeto del automóvil que tiene un campo cuyo valor coincide con la palabra honda. La salida se verá algo como esto:

También puede buscar valores que aparecen en otras propiedades de los objetos, y la función devolverá cada coincidencia que encuentre.

Algolia le permite hacer que las propiedades se puedan buscar o no. Por ejemplo, para hacer sólo marca y modelo buscable en el índice de coches, puede utilizar el establecerConfiguraciones función para configurar la restricción como lo demuestra el siguiente código.

índicecarros.setConfiguración({
Atributos de búsqueda: ['marca', 'modelo'],
})

Esto hace que todas las demás propiedades no se puedan buscar, por lo que las consultas de búsqueda solo se ejecutarán en la marca y modelo propiedades. La exclusión de propiedades es útil cuando crea productos del mundo real en los que tiene que asegurarse mejores practicas de seguridad y evitar que los usuarios accedan a datos privados a través de la búsqueda.

Creación de una funcionalidad de búsqueda eficiente con Algolia

Algolia es una tecnología muy poderosa y es una de las mejores opciones para implementar búsquedas ultrarrápidas en aplicaciones web. También es tolerante a errores tipográficos e incluso le permite ajustar el nivel de tolerancia a errores tipográficos en su búsqueda.

Siempre puede confiar en el rendimiento del motor de búsqueda en su aplicación Node.js cuando lo implementa con Algolia. Puede intentar implementar la búsqueda en una aplicación del mundo real y examinar la documentación para descubrir más sobre Algolia.