Elasticsearch es un motor de búsqueda y análisis de código abierto que permite almacenar, buscar y analizar datos en tiempo real. Elasticsearch utiliza una arquitectura distribuida y se basa en Apache Lucene, y se caracteriza por su alto rendimiento, escalabilidad y facilidad de uso. Elasticsearch se utiliza ampliamente en búsquedas, análisis y análisis de registros.
¿Qué puede hacer Elasticsearch?
Tiene las siguientes capacidades
- Almacenamiento y búsqueda de datos: Elasticsearch permite almacenar e indexar diversos tipos de datos, como texto, números, datos geoespaciales y tipos de datos personalizables.
- Búsqueda de texto completo: Elasticsearch proporciona búsqueda de texto completo con soporte para consultas complejas como frases de búsqueda, consultas Wildcard, búsqueda Fuzzy y más.
- Arquitectura distribuida: Elasticsearch utiliza una arquitectura distribuida, que le permite escalar y manejar grandes cantidades de datos.
- APIS: Elasticsearch ofrece varias APIs para la gestión e indexación de datos, incluyendo APIs REST y APIs Java.
- Agregaciones de datos: Elasticsearch admite agregaciones que permiten analizar los datos y extraer información resumida como la media, la suma, el mínimo y el máximo.
- Solución de secuencias de comandos de búsqueda: Elasticsearch se utiliza para secuencias de comandos de búsqueda en un gran número de aplicaciones y sistemas, incluidos portales de búsqueda, sistemas de supervisión, sistemas de control de versiones y otros.
- Funcionalidad de escalabilidad: Elasticsearch ofrece escalabilidad y funcionalidad multitarea para garantizar una alta disponibilidad y rendimiento en sistemas de gran tamaño.
Proceso de instalación
Las instrucciones de instalación de Elasticsearch serán más o menos las mismas para las diferentes versiones de Ubuntu. En primer lugar, deberá actualizar la lista de paquetes:
sudo apt update
Instalar el paquete OpenJDK 11, que es necesario para que Elasticsearch funcione:
sudo apt install openjdk-11-jdk
Añadir la clave y el repositorio de Elasticsearch a APT:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
Nota: Es posible que se especifique una versión diferente de Elasticsearch en la URL en lugar de "7.x".
Actualiza la lista de paquetes e instala Elasticsearch:
sudo apt update
sudo apt install elasticsearch
Configura Elasticsearch editando el archivo de configuración /etc/elasticsearch/elasticsearch/elasticsearch.yml:
sudo nano /etc/elasticsearch/elasticsearch.yml
Veamos algunas de las configuraciones más importantes:
- cluster.name: el nombre del cluster de Elasticsearch
- node.name: el nombre del nodo Elasticsearch
- network.host: dirección IP o nombre de host del host en el que se ejecutará Elasticsearch
- http.port: puerto HTTP API de Elasticsearch (por defecto es 9200)
- memory.locked: true para permitir que Elasticsearch bloquee la memoria en el área de la página, lo que reduce la probabilidad de cambio de contexto y mejora el rendimiento.
Inicia Elasticsearch y configura la ejecución automática:
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Comprueba que Elasticsearch se está ejecutando enviando una solicitud a su API:
curl http://localhost:9200/
Deberías ver una respuesta con información sobre el estado y la versión de Elasticsearch, por ejemplo:
{
"name" : "my-elasticsearch-node",
"cluster_name" : "my-elasticsearch-cluster",
"cluster_uuid" : "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
"version" : {
"number" : "7.15.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "83c34f456ae29d60e94d886e455e6a3409bba9ed",
"build_date" : "2021-10-07T21:56:19.031608185Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
La instalación de Elasticsearch en Ubuntu debería completarse con éxito.