Table of Contents
Todo cambia extremadamente rápido hoy en día y es muy importante seguir las nuevas tendencias y entenderlas. Una de las palabras de moda que quiero discutir hoy es Elasticsearch. Veremos qué es, como usar ElasticSearch, sus principales ventajas, estadísticas, casos de éxito y libros.
¿Qué es ElasticSearch?
Usar Elasticsearch te permite la búsqueda de una fuente abierta, ampliamente distribuible, fácilmente escalable, de nivel empresarial, basado en Lucene y publicado bajo los términos de la Licencia Apache. Está basado en Java y diseñado para operar en tiempo real. Puede buscar e indexar archivos de documentos en diversos formatos. Fue diseñado para ser utilizado en entornos distribuidos al proporcionar flexibilidad y escalabilidad. Ahora, elasticsearch es el motor de búsqueda empresarial más popular seguido por Apache Solr, también basado en Lucene.
Elasticsearch puede lograr respuestas de búsqueda rápidas porque, en lugar de buscar el texto directamente, busca un índice en su lugar. Esto es más o menos como buscar una palabra clave escaneando el índice en la parte posterior de un libro, en lugar de buscar cada palabra de cada página del libro. Elasticsearch puede escalar hasta miles de servidores y acomodar petabytes de datos. Su enorme capacidad resulta directamente de su arquitectura elaborada y distribuida.
En lugar de la típica configuración de búsqueda de texto completo, ElasticSearch ofrece formas de ampliar las capacidades de búsqueda mediante el uso de API y consultas DSL. Hay clientes disponibles para que se puedan usar con numerosos lenguajes de programación, como Ruby, PHP, JavaScript y otros.
Usar Elasticsearch te permite, por ejemplo, la búsqueda de texto completo «clásica», tienda de análisis, autocompletado, corrector ortográfico, motor de alerta y como almacén de documentos de propósito general.
14 Ventajas de usar Elasticsearch
1.Construir encima de lucene
Elasticsearch está construido sobre Lucene, que es una biblioteca de recuperación de información con todas las características, por lo que proporciona las capacidades de búsqueda de texto completo más potentes de cualquier producto de código abierto.
También es bueno, porque ya es familiar para los desarrolladores.
2.Búsqueda de texto completo
Usar Elasticsearch hace que implementen una gran cantidad de funciones, tales como la división personalizada de texto en palabras, derivación personalizada, búsqueda personalizada, etc.
3.Fuzzy Searching
Una búsqueda difusa es buena para los errores de ortografía. Al usar Elasticsearch te permite encontrar lo que estás buscando aunque tenga un error ortográfico.
4. Autocompletado y búsqueda instantánea
Buscando mientras el usuario escribe. Pueden ser simples sugerencias de, p. las etiquetas existentes, tratando de predecir una búsqueda basada en el historial de búsqueda, o simplemente haciendo una búsqueda completamente nueva para cada palabra clave. Esta opción es muy popular en Google. Escribimos «elasticsearch» y google sugiere los «elasticsearch casos practicos», etc.
5. Orientado a documentos
Elasticsearch está orientado a documentos. Almacena entidades complejas del mundo real como documentos JSON estructurados e indexa todos los campos de forma predeterminada, con un resultado de rendimiento superior.
6. Velocidad
Elasticsearch puede ejecutar consultas complejas extremadamente rápido. También almacena casi todas las consultas estructuradas comúnmente utilizadas como filtro para el conjunto de resultados y las ejecuta solo una vez. Para cada otra solicitud que contiene un filtro en caché, comprueba el resultado de la caché. Esto ahorra el tiempo de análisis y ejecución de la consulta mejorando la velocidad.
7.Escalabilidad
Los equipos de desarrollo de software prefieren usar Elasticsearch porque es un sistema distribuido por naturaleza y puede escalar horizontalmente, lo que permite extender los recursos y equilibrar la carga entre los nodos de un clúster.
8.Búsqueda estructurada
Elasticsearch no tiene esquemas, acepta documentos JSON e intenta detectar la estructura de datos, indexar los datos y hacer que se pueda buscar.
9.Registro de datos
Elasticsearch registra cualquier cambio realizado en registros de transacciones en múltiples nodos en el clúster para minimizar la posibilidad de pérdida de datos.
10.Afinación precisa de consultas
Elasticsearch tiene una poderosa DSL basada en JSON, que permite a los equipos de desarrollo construir consultas complejas y afinarlas para recibir los resultados más precisos de una búsqueda. También proporciona una forma de clasificar y agrupar los resultados.
11.API relajado
Elasticsearch es impulsado por API, las acciones se pueden realizar utilizando una API Restful simple.
12.Enfoque distribuido
Los índices se pueden dividir en fragmentos, con cada fragmento capaz de tener cualquier cantidad de réplicas. Las operaciones de enrutamiento y reequilibrio se realizan automáticamente cuando se agregan nuevos documentos.
13.Uso de facetas
Una búsqueda facetada es más sólida que una búsqueda de texto típica, lo que permite a los usuarios aplicar una cantidad de filtros a la información e incluso tener un sistema de clasificación basado en los datos. Esto permite una mejor organización de los resultados de búsqueda y permite a los usuarios determinar mejor qué información necesitan examinar.
14.Multi Alquiler
A menudo, se tiene múltiples clientes o usuarios con colecciones separadas de documentos, y un usuario nunca debería ser capaz de buscar documentos que no le pertenecen. Esto a menudo conduce a un diseño donde cada usuario tiene su propio índice. Más a menudo esto lleva a tener demasiados índices. Un índice de Elasticsearch más grande es en realidad mejor.
Casos de éxito: hechos y estadísticas
Usar Elasticsearch ha sido adoptado por algunas marcas importantes, como: Tesco, Linkedin, Foursquare, Facebook, Netflix, Dell, Ebay, Wikipedia, The Guardian, New York Times, Salesforce, Docker, Orange, Groupon, Eventbrite y muchos otros.
Veamos algunos de ellos para ver sus resultados:
-
Dell caso práctico
Dell implementó usar Elasticsearch para apoyar la búsqueda de comercio electrónico para más de 60 países en más de 21 idiomas. El equipo de búsqueda de Dell tiene 30 miembros. Han visto la importancia de la búsqueda avanzada ya que las expectativas de compra del consumidor se centraron más en la gratificación instantánea. Ofrecer exactamente el resultado que un consumidor busca comprar los mantiene continuamente innovando y expandiendo las capacidades de relevancia y personalización de la plataforma.
Hace varios años, la plataforma de comercio de búsqueda de Dell experimentaba problemas de envejecimiento, no respondía y un motor de búsqueda no admitía multicliente, preparación para la nube, etc. Como resultado, no era escalable horizontalmente y existían desafíos para crear y mantener índices. Ha llegado el momento de modernizar la plataforma de búsqueda y satisfacer las necesidades del comercio electrónico contemporáneo. Evaluaron Solr, Google Search Appliance y otros motores de búsqueda, pero finalmente se redujeron en Elasticsearch. Multi-tenancy, facilidad de escalabilidad, relevancia de resultados, consultas de agregaciones y ser de código abierto fueron los habilitadores clave para ir con la estrategia de usar Elasticsearch.
Dell ha implementado dos clústeres Elasticsearch en servidores Windows en centros de datos Dell. Search Platform se basa en .NET framework. Uno es un clúster de búsqueda que potencia la experiencia de búsqueda en Dell.com, y el otro es un clúster de análisis utilizado para rastrear la actividad del usuario relacionada con la búsqueda en el sitio. El clúster de análisis proporciona la capacidad de ofrecer resultados de búsqueda influidos por multitud de usuarios y también proporciona una gran comprensión del uso de la plataforma de búsqueda.
El clúster de búsqueda de Dell contiene un conjunto de datos extremadamente completo, ya que indexa todo en Dell.com, que consta de más de 27 millones de documentos que incluyen todos los productos que se pueden comprar por la web, todos los controladores para estos productos que se pueden descargar, solución de problemas con los artículos, documentos de base de conocimiento, manuales de productos, metadatos de video y video, etc. Los documentos del producto incluyen toda la información relacionada con ese producto en particular: el título del producto, su descripción, el enlace de la imagen, palabras clave, metainformación para las especificaciones técnicas de Estos productos (tamaño de RAM, tipo de procesador, resolución, etc.), almacenan el estado de stock para saber cuántos días llevará enviar el producto, información de precios, categoría de departamento, etc.
En cuanto al clúster de análisis de Dell, que tiene actualmente más de mil millones de documentos, indiza cada clic en Dell.com que proviene de una experiencia de búsqueda. Dell usa esta información para analizar las consultas de mayor rendimiento, las categorías de mayor rendimiento y otras métricas para realizar mejoras dinámicas y accionables en el sitio.
Además, para entregar resultados de búsqueda precisos en todos los idiomas, Dell creó extensos canales lingüísticos para cada idioma. Las canalizaciones utilizan los analizadores de lenguaje de Elasticsearch, la eliminación de palabras prohibidas, el corrector ortográfico, la coincidencia de sinónimos, la derivación y otras características para hacer que la consulta sea más precisa. Dell también agregó un último paso al final de sus canales lingüísticos que llaman un factor decisivo, que es esencialmente un agregador fuera de línea que ayuda a identificar las entidades a partir de la consulta que ingresó el cliente. Este agregador se ejecuta en varios sistemas, como el sistema de administración de contenido y sus tablas maestras de búsqueda en varias bases de datos, y, dependiendo de lo que el cliente consultó en la barra de búsqueda, asigna la categoría del producto al código de categoría del producto, el nombre del fabricante a el código del fabricante, y así sucesivamente. Estas entradas, enriquecidas con datos analíticos e identificación de clientes, se pasan a un motor de probabilidad y ayudan a Dell a reescribir la consulta final. Este contexto ayuda a Dell a comprender de manera significativa qué espera el usuario cuando realiza una búsqueda.
Gracias a la naturaleza en tiempo real de Elasticsearch, así como a sus poderosas agregaciones, Dell presentó una nueva característica llamada asistente virtual, que ofrece a los compradores una forma interactiva de refinar su búsqueda antes de hacer clic en el botón de búsqueda al darles una vista previa de sus resultados. Si escribo el término «ordenador portátil», puedo ver que hay refinadores disponibles para restringir mi búsqueda, uno de ellos es el tamaño de la pantalla, otro es el tipo de procesador, y así sucesivamente.
Como usar Elasticsearch admite la creación de múltiples índices, brindó a Dell Search Engineering la capacidad de ofrecer más características basadas en Elasticsearch. Por ejemplo, Dell pudo crear un motor de experimentación en su marco existente, lo que les permite probar fácilmente nuevas características a un porcentaje específico de usuarios y medir el impacto antes de implementarlas en toda su implementación. Esto le da a Dell una sólida hipótesis de trabajo de la tasa de resultados relevantes del usuario, lo que lleva a un aumento en la probabilidad de comprar los productos buscados.
Resultados notables:
Como resultado del cambio a usar Elasticsearch, Dell ha visto un aumento en los ingresos por visita, tasa de clics, valor de pedido promedio, conversión y puntaje de satisfacción del cliente positivo. Además, ahora mediante el uso de elasticsearch, Dell garantiza que las personas adecuadas tengan el acceso y los permisos necesarios para su clúster en un entorno directo y orientado al cliente. Al migrar a Elasticsearch, Dell redujo la cantidad de servidores que necesitaban en un 25-30%.
-
The Guardian caso de éxito
The Guardian quería revitalizar la industria del periódico con datos de lectores en tiempo real. Se enfrentaron al desafío de cómo garantizar que el contenido web se presente y exponga adecuadamente a 5 millones de lectores.
El sistema analítico desarrollado internamente de The Guardian permite a los usuarios de toda la compañía, incluidos editores, periodistas, el equipo de optimización de búsquedas y desarrolladores, ver en tiempo real exactamente cómo los usuarios interactúan con el contenido. En el entorno de noticias, que cambia cada minuto, la visibilidad en tiempo real es invaluable. The Guardian aprovecha los datos para garantizar que el contenido reciba exposición en el momento adecuado, en las plataformas de redes sociales adecuadas, con los titulares correctos. Elasticsearch le dio a The Guardian la libertad de construir un sistema de análisis muy poderoso en la empresa, procesando 40 millones de documentos por día para ofrecer visibilidad en tiempo real del tráfico del sitio en toda la organización. Ahora, una gran parte del negocio de The Guardian se basa en Elasticsearch para comprender cómo se consume su contenido.
Los casos de uso de Elasticsearch en The Guardian son variados: la visibilidad que ofrece el sistema de análisis se usa para ver cuántas visitas recibe cada elemento de contenido; qué titulares y contenido generan más tráfico; de donde se deriva el tráfico; qué plataformas de medios sociales promueven contenido específico en y cuándo, para obtener la máxima exposición; y qué enlaces le permiten al lector hacer clic en siguiente. Los ingenieros incluso están utilizando Elasticsearch para diagnosticar problemas de rendimiento del sitio web mediante la búsqueda de eventos.
Para The Guardian, responder al cambio en tiempo real es crítico. Necesitan poder responder en su punto máximo, por lo que necesitan tener la información de inmediato. Si esperamos hasta el final del día para ver qué sucede, sería demasiado tarde. Y Elasticsearch proporciona esta visibilidad en tiempo real.
Resultados notables:
EstasticSearch ayuda a aprovechar el análisis en tiempo real, por ejemplo, consultar fácilmente 360 millones de documentos, ver el tráfico de todo el contenido a medida que sucede y obtener información sobre cómo las actualizaciones afectan el tráfico del sitio. Además, brinda a toda la organización información en tiempo real sobre el compromiso de la audiencia, democratiza el acceso analítico para más de 500 usuarios y fomenta una cultura de exploración e innovación para todos los empleados.
Al usar Elasticsearch, The Guardian genera más visitas a la página porque ayuda a mejorar el contenido, los titulares y la promoción en una variedad de formas. Y como resultado, aumenta el número de páginas vistas y el éxito del sitio.
Lo que también es muy importante mencionar, faculta al equipo para involucrarse más y adoptar un enfoque proactivo para mejorar el sitio y su contenido. También mejora la experiencia del usuario al proporcionar a los lectores más contenido que cumple con sus demandas, lo que mejora la experiencia del usuario en el sitio web de la compañía.
Y, por supuesto, mejora el rendimiento del sitio, al hacer un seguimiento de cómo los cambios afectan el rendimiento del sitio, diagnostican problemas y mantienen el sitio funcionando al máximo rendimiento.
-
Docker caso practico
Docker tuvo el desafío de cómo ofrecer búsquedas de alto rendimiento en una base de datos en constante crecimiento sin sobrecargar los recursos operativos. Y el departamento de TI decidió usar elasticsearch para encontrar fácilmente el contenedor adecuado para ejecutar aplicaciones distribuidas. Ahora, usar Elasticsearch realmente ayuda a Docker a ofrecer una experiencia de búsqueda y descubrimiento escalable, perfecta y altamente disponible para la creciente comunidad de Docker.
Tras tomar la decisión de pasar a Elasticsearch, Docker evaluó las opciones disponibles para Elasticsearch hospedado al observar una variedad de criterios diferentes: ubicación, número de índices, recursos disponibles, opciones de alta disponibilidad y precio. Elastic Cloud fue la mejor opción.
El rendimiento y la confiabilidad constantes fueron preocupaciones clave para Docker, haciendo que los clústeres Elasticsearch dedicados de Elastic Cloud encajen bien por dos razones clave. En primer lugar, el modelo de alojamiento de Elastic Cloud basado en clústeres dedicados con memoria reservada y CPU, les dio la seguridad de que su aplicación tendría un rendimiento constante. En segundo lugar, las opciones de alta disponibilidad de Elastic Cloud le dieron a Docker garantías añadidas de que incluso en caso de una interrupción total del centro de datos, su base de datos de búsqueda permanecerá disponible.
Resultados notables:
Mudarse a Elasticsearch en producción afectó las ganancias de rendimiento que Docker estaba buscando. Se redujo la carga y la latencia de búsqueda y el rendimiento se mejoraron enormemente. Además, Docker fue capaz de mejorar en gran medida la calidad de los resultados de búsqueda al usar el aumento de campo de Elasticsearch y las consultas de puntuación de función para promover resultados de búsqueda más populares y relevantes.
Con su nueva infraestructura Docker puede servir mejores resultados de búsqueda más rápido. Para Docker esto es crítico; una herramienta construida alrededor de proporcionar poder y conveniencia también debe tener servicios de soporte que posean esas características.
Con Elasticsearch, Docker encontró una solución sobre cómo escalar de manera fácil y rentable una aplicación de búsqueda para satisfacer los crecientes volúmenes de datos, garantizar una excelente experiencia de búsqueda y descubrimiento y administrar las complejidades operativas.
-
Orange case practico
Orange tenía un problema, que cada motor vertical se ejecutaba en su propio conjunto de hardware, incluida la redundancia. Esto era muy costoso y difícil de manejar, pero aún peor era que la complejidad aumentaba cada vez que se tenía que implementar un nuevo motor vertical o una nueva característica. Después de vivir con esta complejidad durante años, se dieron cuenta de que necesitaban reducir el número de tecnologías diferentes y mejorar su capacidad para agregar rápidamente nuevas funciones.
Orange rápidamente se redujo a Elasticsearch principalmente debido a la constante y completa API y al hecho de que fue diseñado desde el principio para ser elástico. La elasticidad fue uno de los requisitos clave para su migración. Y también estaban seleccionando una tecnología en la que se construirían todos sus futuros motores y características verticales.
Alejarse de su interfaz heredada fue fácil porque Elasticsearch JSON y HTTP son fáciles de desarrollar en casi todos los idiomas. Además, Elastic proporciona bibliotecas de cliente para los principales lenguajes, lo que simplifica aún más su interacción con Elasticsearch al ocultar el bajo nivel de análisis JSON e interacciones HTTP.
Actualmente están experimentando con Elasticsearch para obtener más de sus herramientas internas. Por ejemplo, están desarrollando una herramienta para analizar la legibilidad o «calidad» de los 1.2 mil millones de URL en su base de datos web francesa y determinar si las URL son legibles y tienen sentido para la calidad general del dominio o del host.
Resultados notables:
Hoy, Orange tiene 3 clusters, el más grande con 50 millones de documentos en 20 máquinas virtuales. El tamaño principal de estos índices es de 150 GB, y podemos procesar cientos de solicitudes por segundo con tasas de latencia por debajo de 200 ms, todo mientras se ejecuta en máquinas virtuales en lugar de un hardware dedicado.
Ahora es posible desplegar nuevos índices y clústeres de Elasticsearch, es más fácil para sus equipos internos crear nuevos motores verticales, nuevas características y manejar más datos.
7 Elasticsearch libros para leer
Cualquier persona que recién empiece con Elasticsearch necesita saber de qué se trata, cómo funciona y por qué usar Elasticsearch. Con Elasticsearch Essentials obtendrás todo esto condensado en 240 páginas de lecciones y ejercicios introductorios. Pasarás al modelado de datos personalizado para manejar consultas intensas en una base de datos de búsqueda. Como elasticsearch se aprende mejor a través de la práctica, el autor ofrece una buena combinación de teoría y práctica en cada capítulo.
Elasticsearch in Action ayuda a los principiantes con los conceptos básicos y los lleva rápidamente más allá en situaciones más avanzadas. Lo aprenderás a través de ejemplos en el momento. En el camino, aprenderá sobre la búsqueda por lotes y los resultados de indexación para optimizar los tiempos de respuesta. Elasticsearch en acción te enseña a escribir aplicaciones que ofrecen búsqueda de calidad profesional. A medida que avances, aprenderás a agregar funciones básicas de búsqueda a cualquier aplicación, mejorarás los resultados de búsqueda con análisis predictivo y clasificación de relevancia, y usarás datos guardados de búsquedas anteriores para brindarles a los usuarios una experiencia personalizada.
Aquí hay otro libro para principiantes que no requiere absolutamente ningún conocimiento previo para comenzar.
Con este libro aprenderás los conceptos básicos de ElasticSearch, como la indexación de datos, el análisis y el mapeo dinámico, consultar y filtrar ElasticSearch para obtener resultados de búsqueda más precisos y precisos.
Además, aprenderás cómo supervisar y administrar los clústeres de ElasticSearch y solucionar los problemas que surjan, la configuración y la creación de un índice de ElasticSearch. Además de utilizar ElasticSearch query DSL para realizar todo tipo de consultas, uso eficiente y preciso de filtros sin pérdida de rendimiento, implementación de la funcionalidad autocompletar, resaltar datos e información de búsqueda geográfica para obtener mejores resultados y muchos más.
Al estudiar cómo el motor Elasticsearch almacena datos, puedes aprender mucho sobre indexación y optimización de búsquedas. Aprenderás las mejores prácticas para las estrategias de mapeo y cómo manejar los metadatos de los documentos para diferentes consultas de búsqueda. Descubrirás cómo usar el análisis y los analizadores para obtener una mayor inteligencia sobre cómo organizar y extraer los resultados de búsqueda para garantizar que cada consulta de búsqueda cumpla con los resultados relevantes. Explorará la anatomía de un clúster de ElasticSearch y aprenderás a configurar ajustes que te brinden una disponibilidad óptima y escalabilidad. Además, lo bueno de este libro es que encontrarás soluciones del mundo real para ayudarte a mejorar el rendimiento de la indexación, así como consejos y orientación sobre seguridad para que puedas hacer una copia de seguridad y restaurar datos.
Este libro comienza con patrones de diseño para un nuevo servidor que ejecuta Elasticsearch. Aprenderás a cómo crear un motor de búsqueda personalizado para una tienda de comercio electrónico y cómo generar resultados de búsqueda poblados automáticamente como Google. Además, descubrirás el poder de Elasticsearch al implementarlo en una variedad de escenarios del mundo real. Y aprender no solo cómo generar resultados de búsqueda precisos, sino también mejorar la calidad de las búsquedas de resultados relevantes. Descubrirás cómo generar visualizaciones a tiempo real de tus datos utilizando técnicas de visualización convincentes, como gráficos de tiempo, gráficos circulares y gráficos apilados, y cómo ampliar el alcance de las coincidencias utilizando diversas técnicas de análisis, como la carcasa inferior, la derivación, y función de sinónimos.
Para crear sitios web escalables y trabajar en proyectos de big data, necesitarás una experiencia al Usar Elasticsearch de mayor nivel. Es por eso que Mastering Elasticsearch es un recurso valioso para los desarrolladores con un profundo interés en las aplicaciones Elasticsearch. Aprenderás sobre el diseño y la arquitectura de Apache Lucene y ElasticSearch para comprender completamente cómo funciona este gran motor de búsqueda.
Sabrás cómo diseñar, configurar y distribuir tu índice, junto con una comprensión profunda del funcionamiento que lo respalda y aprenderás sobre las funciones avanzadas en un libro fácil de leer con ejemplos detallados que te ayudarán a comprender y utilizar las funciones sofisticadas de ElasticSearch.
El Elasticsearch Cookbook contiene más de 130 recetas diferentes para configuraciones comunes, trampas y extensiones básicas que puedes construir sobre la API de Elasticsearch.
Si te interesa, te recomendamos que te suscriba a nuestro newsletter mensual. ¡Que tengas un gran día!
Si te gustó este artículo sobre como usar Elasticsearch, te puede gustar:
Barcelona como ciudad inteligente
Mapa de los “main players”: ecosistema startup y tech en Barcelona
Los beneficios de la tecnología Scrum
Beneficios de la tecnología Agil
Metodo Kanban Principios y Ventajas
La importancia de las retrospectivas en la metodología Ágil
Producto viable minimo – menos es más
Author
-
Ekaterina Novoseltseva is an experienced CMO and Board Director. Professor in prestigious Business Schools in Barcelona. Teaching about digital business design. Right now Ekaterina is a CMO at Apiumhub - software development hub based in Barcelona and organiser of Global Software Architecture Summit. Ekaterina is proud of having done software projects for companies like Tous, Inditex, Mango, Etnia, Adidas and many others. Ekaterina was taking active part in the Apiumhub office opening in Paseo de Gracia and in helping companies like Bitpanda open their tech hubs in Barcelona.
Ver todas las entradas
More to Explore