Elasticsearch - поисковая система и аналитический движок с открытым исходным кодом, который позволяет хранить, поиска и анализировать данные в режиме реального времени. Elasticsearch использует распределенную архитектуру и построен на базе Apache Lucene, и отличается высокой производительностью, масштабируемостью и удобством использования. Elasticsearch широко используется в области поиска, аналитики и лог-анализа.
Имеет следующие возможности:
- Хранение и поиск данных: Elasticsearch позволяет хранить и индексировать различные типы данных, включая текст, числа, геопространственные данные и настраиваемые типы данных.
- Полнотекстовый поиск: Elasticsearch обеспечивает полнотекстовый поиск с поддержкой сложных запросов, таких как поисковые фразы, Wildcard-запросы, Fuzzy-поиск и многое другое.
- Распределенная архитектура: Elasticsearch использует распределенную архитектуру, что позволяет масштабировать систему и обрабатывать большие объемы данных.
- API: Elasticsearch предлагает различные API для управления данными и индексацией, в том числе REST API и Java API.
- Агрегации данных: Elasticsearch поддерживает агрегации, которые позволяют анализировать данные и извлекать сводную информацию, такую как среднее значение, сумма, минимум и максимум.
- Решение для поисковых сценариев: Elasticsearch используется для поисковых сценариев в большом количестве приложений и систем, включая поисковые порталы, системы мониторинга, системы контроля версий и другие.
- Функциональность масштабирования: Elasticsearch предлагает функциональность масштабирования и многозадачности для обеспечения высокой доступности и производительности в больших системах.
Инструкция по установке Elasticsearch будет примерно одинаковой для разных версий Ubuntu.
Сначала необходимо обновить список пакетов:
sudo apt update
Установите пакет OpenJDK 11, который необходим для работы Elasticsearch:
sudo apt install openjdk-11-jdk
Добавьте ключ и репозиторий Elasticsearch в 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
Примечание: вместо "7.x" в URL может быть указана другая версия Elasticsearch.
Обновите список пакетов и установите Elasticsearch:
sudo apt update
sudo apt install elasticsearch
Настройте Elasticsearch, отредактировав файл конфигурации /etc/elasticsearch/elasticsearch.yml:
sudo nano /etc/elasticsearch/elasticsearch.yml
Рассмотрим некоторые наиболее важные настройки:
- cluster.name: имя кластера Elasticsearch
- node.name: имя узла Elasticsearch
- network.host: IP-адрес или имя хоста, на котором будет работать Elasticsearch
- http.port: порт HTTP API Elasticsearch (по умолчанию 9200)
- memory.locked: true, чтобы разрешить Elasticsearch заблокировать память в области страницы, что уменьшает вероятность переключения контекста и улучшает производительность.
Запустите Elasticsearch и настройте автозапуск:
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Проверьте, что Elasticsearch работает, отправив запрос к его API:
curl http://localhost:9200/
Вы должны увидеть ответ со статусом и информацией о версии Elasticsearch, например:
{
"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"
}
Установка Elasticsearch на Ubuntu должна быть завершена успешно.