Проверка версии Debian
Прежде чем устанавливать ElasticSearch нам нужно установить некоторые “пакеты” (packages) для его работы, и это openjdk (Java). Определить версию Debian через терминал можно командной:
cat /etc/debian_version
Если у вас `jessie` версия 8.х, то этот гайд для вас.
Готовка вашей системы
Для того чтобы установить нужные пакеты (OpenJDK 8), вам нужно добавить репозиторий backports. Для этого открываем файл : /etc/apt/sources.list
# jessie backports deb http://http.debian.net/debian jessie-backports main
Добавляем в конец файла, после чего обновляем в системе репозитории.
apt-get update
Установка пакетов
Далее после добавления репозитория, мы можем установить OpenJDK8 на Debian Jessie.
apt-get install -t jessie-backports openjdk-8-jdk
проверить установку можно командой:
update-java-alternatives --list
Обычно вывод такой:
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
Однако если у вас несколько версий:
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64 java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
то лучше всего прописать по умолчанию версию 1.8.х
update-java-alternatives --set java-1.8.0-openjdk-amd64
Установка ElasticSearch
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list apt-get update && apt-get install elasticsearch
Проверка установки
После установки команды для управления сервисом одни и те же как и везде:
service elasticsearch status service elasticsearch start service elasticsearch stop
Набираем status, и видим: Active: active (running)
Значит наш ElasticSearch установлен и работает.
Попробуем отослать ему запрос:
curl -X GET localhost:9200
Если выдаст: -bash: curl: command not found
Смело прописываем:
apt-get install curl
Далее, снова пробуем послать cURL запрос на localhost:9200
После ответа:
curl -X GET localhost:9200 { "name" : "GpKQ1C", "cluster_name" : "elasticsearch", "cluster_uuid" : "pO90wXMrR_S5o7GoPER_R", "version" : { "number" : "6.4.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "e36acdb", "build_date" : "2018-09-13T22:18:07.696808Z", "build_snapshot" : false, "lucene_version" : "7.4.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Мы полностью удостоверились что всё установлено и работает.
Минимальное использование
Теперь можно заполнять Эластик:
Посылая различные PUT запросы вида:
curl -XPUT "localhost:9200/ИНДЕКС(БАЗА)/ТИП(ТАБЛИЦА)/НОМЕР(ID)?pretty" -d{JSON_CONTENT}
И также искать в нём записи:
curl -XGET "localhost:9200/ИНДЕКС(БАЗА)/ТИП(ТАБЛИЦА)/_search?pretty" -d'
{
"size": 1,
"_source": ["ПОЛЕ ИЗ JSON1", "ПОЛЕ ИЗ JSON2"],
"sort": [{"ПОЛЕ ИЗ JSON1": "desc"}]
}
XGET Запрос на поиск записей в ElasticSearch.
В принципе ничего сложного нет.