Notas de estudio de ElasticSearch: descripción general del Capítulo 1

1. Descripción general de ElasticSearch

1.1 Introducción

Elaticsearch, conocido como ES, es un motor de búsqueda de texto completo de estilo RESTful, distribuido, altamente escalable y de código abierto y es el núcleo de toda la pila de tecnología Elastic Stack. Puede almacenar y recuperar datos casi en tiempo real; es muy escalable y puede extenderse a cientos de servidores para procesar datos a nivel PB.

La pila de tecnología Elastic Stack incluye Elasticsearch , Kibana , Beats y Logstash.

Elasticsearch para buscar datos almacenados

Kibana se utiliza para mostrar datos.

1.2 Motor de búsqueda de texto completo

Las búsquedas de sitios web como Google y Baidu generan índices basados ​​​​en palabras clave en las páginas web. Cuando ingresamos palabras clave durante la búsqueda, devolverán todas las páginas web que coincidan con la palabra clave, es decir, el índice; también hay proyectos comunes Búsqueda de registros de aplicaciones y más. Para estos textos de datos no estructurados, la búsqueda en bases de datos relacionales no es compatible.

En general, la búsqueda de texto completo en bases de datos tradicionales es muy inútil, porque generalmente nadie utiliza campos de texto del inventario de datos. La búsqueda de texto completo requiere escanear toda la tabla. Si la cantidad de datos es grande, incluso optimizar la sintaxis SQL tendrá poco efecto. El índice está establecido, pero su mantenimiento también es muy problemático: el índice se reconstruirá para operaciones de inserción y actualización.

Por lo tanto, cuando necesitamos utilizar métodos de búsqueda convencionales en los siguientes escenarios, consume mucho rendimiento:

  • Los objetos de datos buscados son grandes cantidades de datos de texto no estructurados.
  • La cantidad de registros de archivos alcanza cientos de miles, millones o más.
  • Admite una amplia gama de consultas interactivas basadas en texto.
  • Requiere consultas de búsqueda de texto completo muy flexibles.
  • Existe una necesidad especial de resultados de búsqueda altamente relevantes, pero ninguna base de datos relacional disponible puede satisfacerla.
  • Situaciones en las que existen relativamente pocos requisitos para diferentes tipos de registros, manipulación de datos no textuales o procesamiento seguro de transacciones.

El motor de búsqueda de texto completo mencionado aquí se refiere a los principales motores de búsqueda que se utilizan ampliamente en la actualidad. Su principio de funcionamiento es que el programa de indexación de la computadora escanea cada palabra del artículo, crea un índice para cada palabra e indica el número y la ubicación de la palabra en el artículo. Cuando el usuario realiza una consulta, el programa de recuperación utiliza el índice preestablecido. Método de búsqueda y envía los resultados de la búsqueda al usuario . Este proceso es similar al proceso de buscar una palabra a través de la lista de palabras de búsqueda en un diccionario.

1.3 Lucena

Lucene es un subproyecto del equipo de proyecto de Yakarta de la Apache Software Foundation y proporciona una interfaz de programación de aplicaciones simple pero potente que puede realizar búsquedas e indexaciones de texto completo. Lucene es una herramienta madura , gratuita y de código abierto en el entorno de desarrollo Java . Por sí sola, Lucene es actualmente y ha sido la biblioteca gratuita de recuperación de información Java más popular de los últimos años. Sin embargo, Lucene es solo un conjunto de herramientas central que proporciona una biblioteca de funciones de búsqueda de texto completo, y su uso real requiere la construcción y aplicación de un marco de servicio completo.

Elasticsearch está construido sobre la base de Lucene y puede implementar y lanzar de forma independiente software de servicio de motor de búsqueda.

1.4 Casos de aplicación

  • GitHub: a principios de 2013, se abandonó Solr y se utilizó Elasticsearch para búsquedas a nivel de petabytes. "GitHub utiliza Elasticsearch para buscar 20 TB de datos, incluidos 1.300 millones de archivos y 130.000 millones de líneas de código".
  • Wikipedia: lanzamiento de una arquitectura de búsqueda central basada en Elasticsearch
  • Baidu: Elasticsearch se utiliza actualmente ampliamente para el análisis de datos de texto. Recopila varios datos de indicadores y datos definidos por el usuario en todos los servidores de Baidu. A través del análisis multidimensional y la visualización de diversos datos, ayuda a localizar y analizar anomalías de instancias o a nivel empresarial. anomalías. Actualmente cubre más de 20 líneas de negocio dentro de Baidu (incluyendo análisis de nube, alianzas de red, predicciones, bibliotecas, cuentas directas, billeteras, control de riesgos, etc.), con un máximo de 100 máquinas y 200 nodos ES en un solo clúster, y Cada día se importan más de 30 TB de datos.
  • Sina: utilice Elasticsearch para analizar y procesar 3.200 millones de registros en tiempo real.
  • Alibaba: utilice Elasticsearch para crear un sistema de análisis y recopilación de registros.
  • Stack Overflow: un sitio web para resolver problemas de errores, todo en inglés, un sitio web para que los programadores se comuniquen

referencia

[Silicon Valley] Tutorial de ElasticSearch desde el inicio hasta el dominio (basado en las nuevas características de la pila de tecnología ELK elasticsearch 7.x + 8.x)

Supongo que te gusta

Origin blog.csdn.net/weixin_42584100/article/details/129653418
Recomendado
Clasificación