Elasticsearch: Создать псевдоним (Alias)

Elasticsearch - это комплексный инструмент, который использует Apache Lucene для обработки текстовых, числовых, структурированных и неструктурированных геопространственных данных. Elasticsearch использует простой и очень мощный REST API, который позволяет пользователям настраивать и управлять им. В сочетании с другими инструментами, такими как Kibana и Logstash, он является одним из самых популярных движков реального времени и анализа данных.

После сбора данных из таких источников, как системные журналы, метрики, данные приложений и т.д., они добавляются в Elasticsearch и индексируются, что позволяет выполнять сложные запросы к данным и создавать сводки и информативные приборные панели с помощью таких инструментов визуализации, как Kibana.

Elasticsearch

Что такое индекс Elasticsearch?

Разобравшись с тем, что такое Elasticsearch, давайте поговорим об одной из самых важных вещей в Elastic: индексе.

В Elasticsearch индекс означает коллекцию тесно связанных документов в виде данных JSON. Данные JSON соотносят ключи с соответствующими их ключам значениями.

Вот пример документа JSON:

Индексы Elasticsearch имеют форму инвертированного индекса, который Elasticsearch ищет по полным текстам. Инвертированный индекс работает путем перечисления всех уникальных слов в любом документе Elasticsearch и точного соответствия документу, в котором это слово встречается.

Функция инвертированного индексирования, предоставляемая Elasticsearch, также обеспечивает поиск в режиме реального времени и может быть обновлена с помощью API индексирования Elasticsearch.

Как создать псевдоним индекса

Elasticsearch предоставляет свои сервисы и функциональность с помощью очень мощного REST API. Используя этот API, мы можем создать псевдоним для индекса Elasticsearch.

Что такое псевдоним индекса (Alias)?

Псевдоним индекса Elastisearch - это вторичное имя или идентификатор, который мы можем использовать для ссылки на один или несколько индексов.

После создания псевдонима индекса вы можете ссылаться на индекс или индексы в API Elasticsearch.

Примером соответствующего индекса может быть индекс, хранящий системные журналы для apache. Если вы регулярно запрашиваете журналы apache, вы можете создать псевдоним для apache_logs, а также запрашивать и обновлять этот конкретный индекс.

Чтобы создать псевдоним для определенного индекса, мы используем запрос PUT, за которым следует путь к индексу и псевдоним для создания.

В REST мы используем метод PUT для запроса переданной сущности или значения, которое должно быть сохранено в URL запроса. Проще говоря, метод HTTP PUT позволяет вам обновить информацию о ресурсе или создать новую запись, если таковой не существует.

Для этого руководства я предполагаю, что у вас установлен Elasticsearch, и у вас есть клиент API или инструмент для отправки HTTP-запросов, например, cURL.

Давайте начнем с создания простого индекса без псевдонимов и параметров.

Для простоты мы будем использовать cURL, поскольку мы предполагаем, что у вас установлен только Elasticsearch без Kibana. Однако если у вас установлена Kibana или возникают ошибки при использовании curl, рассмотрите возможность использования консоли Kibana, поскольку она лучше подходит для запросов API Elasticsearch.

Эта команда создает простой индекс, используя настройки по умолчанию, и возвращает следующее.

Теперь, когда у нас есть индекс в Elasticsearch, мы можем создать псевдоним, используя тот же PUT-запрос:

Мы начинаем с указания метода, в данном случае PUT, за которым следует URL индекса, к которому мы хотим добавить псевдоним. Далее указывается API, который мы хотим использовать, в данном случае Index Alias API (_alias), а затем имя псевдонима, который мы хотим присвоить индексу.

Вот команда cURL для этого:

Эта команда должна ответить со статусом 200 OK и "acknowledged":

Вы также можете встретить метод добавления псевдонима к индексу как:

Используя Elasticsearch index alias API, вы можете добавлять, обновлять и удалять индексные псевдонимы по своему усмотрению.

Как получить информацию о псевдониме индекса

Когда вы создаете сложные псевдонимы, например, отфильтрованные для определенного пользователя, вы можете захотеть получить информацию об индексе. Вы можете просмотреть информацию с помощью метода GET следующим образом:

Вот команда cURL:

Эта команда отобразит информацию о псевдониме. Поскольку мы не добавили никакой информации, обычно она будет выглядеть следующим образом.

Убедитесь, что псевдоним существует, чтобы избежать ошибки 404, как показано ниже:

Результатом будет "псевдоним не существует или отсутствует" как:

Как удалить псевдоним из индекса

Чтобы удалить существующий псевдоним из индекса, мы используем метод, который мы использовали для добавления псевдонима, но с запросом DELETE. Например:

Эквивалентная команда cURL выглядит следующим образом:

Elasticsearch должен ответить 200 OK и подтвердить: true

Существуют и другие способы обновления и удаления псевдонимов из индекса в Elasticsearch. Однако для простоты мы остановились на одном запросе.

Заключение

В этом простом руководстве мы рассмотрели создание индекса Elasticsearch, а затем псевдонима. Мы также рассмотрели, как удалить псевдоним. Стоит отметить, что это руководство не является самым полным в мире; его цель - служить начальным руководством по созданию Elasticsearch, а не всеобъемлющим руководством.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий