Base de datos de elasticsearch
Elasticsearch es una de las bases de datos NoSQL más populares que se utiliza para almacenar y buscar datos basados en texto. Se basa en la tecnología de indexación de Lucene y permite la recuperación de la búsqueda en milisegundos en función de los datos que están indexados.
Basado en el sitio web de Elasticsearch, aquí está la definición:
Elasticsearch es un motor de búsqueda y análisis de código abierto y de código abierto capaz de resolver un número creciente de casos de uso.
Esas fueron algunas palabras de alto nivel sobre elasticsearch. Entendamos los conceptos en detalle aquí.
Scoiling vertical y horizontal
Comenzando con la base de datos Elasticsearch
Para comenzar a usar ElasticSearch, debe instalarse en la máquina. Para hacer esto, lea instalar Elasticsearch en Ubuntu.
Asegúrese de tener una instalación activa de ElasticSearch si desea probar ejemplos que presentamos más adelante en la lección.
Elasticsearch: conceptos y componentes
En esta sección, veremos qué componentes y conceptos se encuentran en el corazón de Elasticsearch. Comprender sobre estos conceptos es importante comprender cómo funciona ES:
Debido al concepto de escala horizontal, prácticamente podemos agregar un número infinito de nodos en un clúster ES para darle mucha más fuerza e capacidades de indexación.
Tenga en cuenta que los tipos están desaprobados de ES V6.0.0 en adelante. Lea aquí por qué se hizo esto.
Tipos de búsqueda en elasticsearch
Elasticsearch es conocido por sus capacidades de búsqueda casi en tiempo real y las flexibilidades que proporciona con el tipo de datos que se están indexando y buscan. Comencemos a estudiar cómo usar la búsqueda con varios tipos de datos.
Una consulta de coincidencia encontrará los tres documentos cuando se busque Bola de golpe. Una búsqueda de proximidad puede decirnos qué tan lejos aparecen estas dos palabras en la misma línea o párrafo debido al cual coincidieron.
Consultas SQL: coincidencia parcial
Donde el nombre como "%John%"
Y nombre como "%rojo%"
Y nombre como "%jardín%"
En algunas ocasiones, solo necesitamos ejecutar consultas parciales de coincidencias incluso cuando pueden considerarse como técnicas de fuerza bruta.
Integración con kibana
Cuando se trata de un motor de análisis, generalmente necesitamos ejecutar consultas de análisis en un dominio de inteligencia de negocios (BI). Cuando se trata de analistas de negocios o analistas de datos, no sería justo suponer que las personas conocen un lenguaje de programación cuando desean visualizar los datos presentes en ES Cluster. Este problema es resuelto por Kibana.
Kibana ofrece tantos beneficios a BI que las personas pueden visualizar datos con un tablero excelente y personalizable y ver datos de manera innovadora. Veamos algunos de sus beneficios aquí.
Gráficos interactivos
En el núcleo de Kibana hay gráficos interactivos como estos:
Kibana viene con el apoyo de varios tipos de gráficos como gráficos circulares, estallidos solares, histogramas y mucho más que utiliza las capacidades de agregación completa de ES.
Soporte de mapeo
Kibana también es compatible. ¿No es esto genial??!
Agregaciones y filtros preconstruidos
Con agregaciones y filtros preconstruidos, es posible fragmentar, literalmente, soltar y ejecutar consultas altamente optimizadas dentro del tablero de Kibana. Con solo unos pocos clics, es posible ejecutar consultas agregadas y presentar resultados en forma de gráficos interactivos.
Distribución fácil de paneles
Con Kibana, también es muy fácil compartir los paneles de un público mucho más amplio sin hacer ningún cambio en el tablero con la ayuda de solo el modo de tablero. Podemos insertar fácilmente paneles en nuestro wiki interno o páginas web.
Imágenes de características tomadas Formulario Página de producto Kibana.
Usando ElasticSearch
Para ver los detalles de la instancia y la información del clúster, ejecute el siguiente comando:
Ahora, podemos intentar insertar algunos datos en ES usando el siguiente comando:
Insertar datos
curl \
-X post 'http: // localhost: 9200/linuxhint/hello/1' \ \
-H 'Tipo de contenido: Aplicación /JSON' \
-D '"Nombre": "Linuxhint"' \
Esto es lo que recuperamos con este comando:
Intentemos obtener los datos ahora:
Obtener datos
curl -x get 'http: // localhost: 9200/linuxhint/hello/1'
Cuando ejecutamos este comando, obtenemos la siguiente salida:
Conclusión
En esta lección, observamos cómo podemos comenzar a usar Elasticsearch, que es un excelente motor de análisis y también proporciona un excelente soporte para la búsqueda de texto libre casi en tiempo real.