Эластичный поиск

Как создать индексы Elasticsearch

Как создать индексы Elasticsearch
Elasticsearch - это часть популярного стека ELK, используемого для анализа журналов и поиска. Приложения и системы постоянно регистрируют данные, которые могут быть очень полезны для устранения неполадок и отслеживания проблем. Используя стек ELK, у вас есть лучшие инструменты для быстрого и очень простого выполнения этих задач.

В этом кратком руководстве мы рассмотрим Elasticsearch, в частности, как создавать индексы в движке Elasticsearch. Хотя вам не нужны всесторонние знания о стеке ELK, чтобы следовать этому руководству, может быть полезно иметь базовое понимание следующих тем:

ПРИМЕЧАНИЕ: В этом руководстве также предполагается, что в вашей системе установлен и запущен Elasticsearch.

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

Не упрощая и не усложняя вещи, индекс Elasticsearch представляет собой набор связанных документов JSON.

Как упоминалось в предыдущем посте, индексы Elasticsearch - это объекты JSON, которые считаются базовой единицей хранения в Elasticsearch. Эти связанные документы JSON хранятся в едином блоке, составляющем индекс. Думайте о документах Elasticsearch как о таблицах в реляционной базе данных.

Давайте свяжем индекс Elasticsearch как базу данных в мире SQL.

Как создать индекс Elasticsearch

Elasticsearch использует мощный и интуитивно понятный REST API для предоставления своих сервисов. Эта функция позволяет использовать HTTP-запросы для выполнения операций в кластере Elasticsearch. Поэтому мы будем использовать API создания индекса для создания нового индекса.

В этом руководстве мы будем использовать cURL для отправки запросов и сохранения целостности и удобства использования для всех пользователей. Однако, если вы столкнулись с ошибками с cURL, рассмотрите возможность использования Kibana Console.

Синтаксис для создания нового индекса в кластере Elasticsearch:

СТАВИТЬ /

Чтобы создать индекс, все, что вам нужно сделать, это передать имя индекса без других параметров, что создает индекс с настройками по умолчанию.

Вы также можете указать различные функции индекса, например, в теле индекса:

  • Настройки для индекса
  • Псевдонимы индекса
  • Сопоставления для полей индекса

Имя индекса - обязательный параметр; в противном случае вы получите ошибку для URIL (/)

curl -X PUT «localhost: 9200»
"error": "Неверный HTTP-метод для uri [/] и метода [PUT], разрешен: [DELETE, HEAD, GET]", "status": 405

Чтобы создать новый индекс с именем single_index, мы передаем запрос:

PUT / single_index

Для cURL используйте команду:

curl -X PUT "localhost: 9200 / одиночный_индекс?симпатичный"

Эта команда должна привести к HTTP-статусу 200 OK и сообщению с подтверждением: true как:


«Подтверждено»: верно,
"shards_acknowledged": правда,
"index": "single_index"

Вышеупомянутый запрос создает индекс single_index с настройками по умолчанию, поскольку мы не указали никаких конфигураций.

Правила именования индексов

При создании имен для индексов Elasticsearch необходимо придерживаться следующих стандартов именования:

  1. Имя индекса должно быть только в нижнем регистре.
  2. Имена индексов не могут начинаться с тире (-), подчеркивания (_) или знака добавления (+)
  3. Имена не могут быть . или же…
  4. Имена индексов не могут содержать специальные символы, такие как: \, /, *, ?, «, <, >, |, "(пробел), ,, #
  5. Длина имен индексов должна быть меньше 255 байт. Многобайтовые символы будут учитываться в общей длине имени индекса. Например, если длина одного символа составляет 8 байтов, общая оставшаяся длина имени составляет 255-8
  6. В последней версии Elasticsearch имена, начинающиеся с . зарезервированы для скрытых индексов и внутренних индексов, используемых плагинами Elasticsearch.

Как создать индексное тело

При использовании запроса PUT для создания индекса вы можете передавать различные аргументы, которые определяют настройки индекса, который вы хотите создать. Значения, которые вы можете указать в теле, включают:

  • Псевдонимы: Задает псевдонимы для индекса, который вы хотите создать; этот параметр не обязателен.
  • Настройки: Это определяет параметры конфигурации для индекса, который вы хотите создать. Если вы не укажете какие-либо параметры, индекс будет создан с использованием конфигураций по умолчанию.
  • Сопоставления: Это определяет отображение полей в индексе. Спецификации, которые вы можете включить в сопоставления, включают:
    • Имя поля
    • Тип данных
    • Параметр сопоставления

В качестве примера создания индекса с конфигурациями тела рассмотрим запрос ниже:

PUT / single_index_with_body

"настройки":
"number_of_shards": 2,
"number_of_replicas": 2
,
«Сопоставления»:
"характеристики":
"field1": "тип": "объект"


Для запроса, эквивалентного cURL:

curl -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "mappings" : "properties": "field1": "type": "object" '

Вышеупомянутый запрос создает новый индекс с именем single_index_with_body с 2 номерами шардов и 2 репликами. Он также создает сопоставление с полем имени field1 и вводит его как объект JSON.

Как только вы отправите запрос, вы получите ответ со статусом запроса:


«Подтверждено»: верно,
"shards_acknowledged": правда,
"index": "single_index_with_body"

«Подтверждено» показывает, был ли индекс успешно создан в кластере, а «shards_acknowledged» показывает, было ли запущено необходимое количество копий сегментов для каждого сегмента в указанном индексе до истечения времени ожидания.

Как просмотреть индекс Elasticsearch

Чтобы просмотреть информацию о созданном вами индексе, используйте запрос, аналогичный запросу создания индекса, но используйте метод HTTP вместо PUT как:

ПОЛУЧИТЬ / single_index_with_body

Для cURL,

curl -XGET «http: // localhost: 9200 / single_index_with_body»

Эта команда предоставит вам подробную информацию о запрошенном индексе в следующем виде:


"single_index_with_body":
"псевдонимы": ,
"mappings":
"характеристики" :
"field1":
"тип": "объект"


,
"настройки" :
"индекс" :
"routing":
"allocation":
"включать" :
"_tier_preference": "data_content"


,
"number_of_shards": "2",
"предоставленное_имя": "одиночный_индекс_с_тело",
"creation_date": "1611045687208",
"number_of_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"версия":
"created": "7100299"




Заключение

В этом руководстве рассказывается, как работать с Elasticsearch для создания API индекса для создания новых индексов. Мы также обсудили, как создать подходящие имена для индексов и параметров конфигурации.

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

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...