Выбрать страницу
Elasticsearch – быстрый старт

Что такое Elasticsearch

Elasticsearch — это хранилище документов, c возможностью создавать полнотекстовые индексы для последующего поиска, чаще всего используемое в качестве поискового движка. ElasticSearch добавляет к возможностям библиотеки Apache Lucene, на котором основан, такие функции, как шардирование, репликацию, удобный JSON API и множество других улучшений. Это делает ElasticSearch одним из самых популярных решений для полнотекстового поиска.

Основные понятия

Индекс

Индекс предназначен для группировки данных в логические структуры. У нас может быть индекс по фильмам, или индекс по товарам, или какой-то еще. Если проводить аналогию с реляционными базами данных – то это как таблица в реляционной базе (только более гибкая, так как может хранить документы разной схемы).

Документы

Это непосредственно записи в индексе, если мы опять сравниваем с реляционными базами данных, то это аналогично строке в таблице, но со своими отличиями.

Запросы

Запросы в Elastic Search предназначены для поиска и фильтрации данных в индексах. С помощью запросов мы можем находить документы, соответствующие определенным условиям, сортировать результаты по релевантности, выполнять агрегации и многое другое.
Если сравнивать с реляционной базой данных – то это как обычные sql запросы, только выглядят по-другому.

Если вы хотите разобраться в самом SQL и научиться уверенно работать с реляционными базами данных, то приглашаю на мой курс по SQL и PostgreSQL, он доступнен на платформах Stepik и Udemy

Установка и запуск через Docker

Для запуска Elasticsearch локально проще всего воспользоваться Docker:

docker run -p 9200:9200 -e "discovery.type=single-node" elasticsearch:7.17.22

Проверить что все работает как надо можно перейдя в браузере по адресу localhost:9200

В ответ должно появиться следующее

{
  "name" : "8038cbce69bf",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "S5nOCHwSQC6dLhUN8iZDZQ",
  "version" : {
    "number" : "7.17.22",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "38e9ca2e81304a821c50862dafab089ca863944b",
    "build_date" : "2024-06-06T07:35:17.876121680Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

API Elasticsearch

Взаимодействие с Elasticsearch происходит по http протоколу. Ниже представлена коллекция Postman с различными запросами к Elasticsearch: создание индекса, добавление, получение и удаление документов, поиск.

Материалы

Репозиторий с проектом github.com/SuchkovDenis/elasticexample

Видео на youtube https://youtu.be/vxE1aGTEnbE

Мы используем файлы cookie для персонализации контента и рекламы, предоставления функций социальных сетей и анализа нашего трафика. Мы также делимся информацией о вашем использовании нашего сайта с нашими партнерами по социальным сетям, рекламе и аналитике. View more
Принять
Отклонить