Jak tworzyć indeksy Elasticsearch

Jak tworzyć indeksy Elasticsearch
ElasticSearch to jedna część popularnego stosu łosia używanego do analizy i wyszukiwania dziennika. Aplikacje i systemy stale rejestrują dane, które mogą być bardzo przydatne do rozwiązywania problemów i śledzenia problemów. Korzystając z stosu łosia, masz najlepsze narzędzia do szybkiego i bardzo łatwo wykonywania tych zadań.

W tym szybkim samouczku przyjrzymy się ElasticSearch, w szczególności, jak tworzyć indeksy w silniku ElasticSearch. Chociaż nie potrzebujesz żadnej kompleksowej wiedzy na temat stosu łosia, aby śledzić ten samouczek, korzystne może być podstawowe zrozumienie następujących tematów:

  • Używając w szczególności terminalu, zwinić się
  • Podstawowa znajomość interfejsów API i JSON
  • Składanie żądania HTTP

NOTATKA: Ten samouczek zakłada również, że masz zainstalowany i uruchomiony w systemie ElasticSearch.

Jakie są indeksy ElasticSearch?

Bez nadmiernego uproszczenia lub nadmiernego komplikacji indeks ElasticSearch to zbiór powiązanych dokumentów JSON.

Jak wspomniano w poprzednim poście, indeksy ElasticSearch to obiekty JSON rozważane na podstawie podstawowej jednostki pamięci w ElasticSearch. Te powiązane dokumenty JSON są przechowywane w jednej jednostce, która składa się z indeksu. Pomyśl o dokumentach ElasticSearch jako tabelach w relacyjnej bazie danych.

Odniesiemy indeks ElasticSearch jako bazy danych w świecie SQL.

  • Mysql => bazy danych => tabele => kolumny/wiersze
  • ElasticSearch => indeks => typy => Dokumenty JSON o właściwościach

Jak utworzyć indeks ElasticSearch

ElasticSearch używa potężnego i intuicyjnego interfejsu API REST, aby ujawnić swoje usługi. Ta funkcjonalność pozwala użyć żądań HTTP do wykonywania operacji w klastrze ElasticSearch. Dlatego użyjemy interfejsu API Utwórz indeks, aby utworzyć nowy indeks.

W tym przewodniku użyjemy Curl do wysyłania żądań i zachowania integralności i użyteczności dla wszystkich użytkowników. Jeśli jednak napotkasz błędy z Curl, rozważ użycie konsoli Kibana.

Składnia do tworzenia nowego indeksu w klastrze ElasticSearch to:

UMIEŚCIĆ /

Aby utworzyć indeks, wszystko, co musisz zrobić, to przekazać nazwę indeksu bez innych parametrów, co tworzy indeks za pomocą ustawień domyślnych.

Możesz także określić różne funkcje indeksu, takie jak w organu indeksu:

  • Ustawienia indeksu
  • Indeks aliasy
  • Mapowania na pola indeksu

Nazwa indeksu jest wymaganym parametrem; W przeciwnym razie otrzymasz błąd dla URIL (/)

curl -x Put „Localhost: 9200”
„error”: „Niepoprawna metoda HTTP dla URI [/] i metodę [Put], dozwolone: ​​[Usuń, Head, Get]”, „Status”: 405

Aby utworzyć nowy indeks z nazwą single_index, przekazujemy żądanie:

Put /single_index

Do Curl użyj polecenia:

curl -x Put "LocalHost: 9200/single_index?ładny"

To polecenie powinno skutkować statusem HTTP 200 OK i komunikatem z potwierdzonym: True As:


„Uznane”: prawda,
„Shards_acknowledged”: True,
„Indeks”: „single_index”

Powyższe żądanie tworzy indeks single_index z ustawieniami domyślnymi, ponieważ nie określiliśmy żadnych konfiguracji.

Indeksowe reguły nazywania

Tworząc nazwy wskaźników ElasticSearch, musisz przestrzegać następujących standardów nazewnictwa:

  1. Nazwa indeksu musi być tylko niższa.
  2. Nazwy indeksu nie mogą zaczynać się od Dash (-), podkreślenia (_) lub znaku dodawania (+)
  3. Nazwy nie mogą być . Lub…
  4. Nazwy indeksu nie mogą zawierać znaków specjalnych, takich jak: \, /, *, ?, „,, |," (postać kosmiczna), ,, #
  5. Długość nazw indeksu musi wynosić mniej niż 255 bajtów. Znaki wielu bytów będą się liczyć w całkowitej długości nazwy indeksu. Na przykład, jeśli pojedynczy znak ma długość 8 bajtów, całkowita pozostała długość nazwy wynosi 255–8
  6. W najnowszej wersji ElasticSearch nazwy zaczynające się na . są zarezerwowane dla ukrytych indeksów i indeksów wewnętrznych używanych przez wtyczki ElasticSearch.

Jak utworzyć organ indeksowy

Korzystając z żądania PUT do utworzenia indeksu, możesz przekazać różne argumenty, które definiują ustawienia dla indeksu, który chcesz utworzyć. Wartości, które możesz określić w ciele, obejmują:

  • Skróty: Określa nazwy aliasów dla indeksu, który chcesz utworzyć; Ten parametr jest opcjonalny.
  • Ustawienia: To określa opcje konfiguracji dla indeksu, który chcesz utworzyć. Jeśli nie okreścisz żadnych parametrów, indeks jest tworzony za pomocą domyślnych konfiguracji.
  • Mappy: To określa mapowanie pól w indeksie. Specyfikacje, które możesz dołączyć do mapowań, obejmują:
    • Nazwa pola
    • Typ danych
    • Parametr mapowania

Aby uzyskać przykład tworzenia indeksu z konfiguracją ciała, rozważ żądanie poniżej:

Put /single_index_with_body

„Ustawienia”:
„Number_of_shards”: 2,
„Number_of_replicas”: 2
,
„Mapowania”:
"nieruchomości":
„Field1”: „typ”: „obiekt”


Aby uzyskać równoważne prośbę Curl:

curl -xput "http: // localhost: 9200/single_index_with_body" -h 'content -Type: Application/json' -d '"Settings": "Number_shards": 2, "numer_of_replicas": 2, "mappings" : „właściwości”: „field1”: „type”: „object” '

Powyższe żądanie tworzy nowy indeks z nazwą single_index_with_body z 2 liczbami odłamków i 2 replikami. Tworzy również mapowanie z polem nazwy 1 i typu jako obiekt JSON.

Po wysłaniu żądania otrzymasz odpowiedź ze statusem żądania jako:


„Uznane”: prawda,
„Shards_acknowledged”: True,
„Indeks”: „single_index_with_body”

„Uznany” pokazuje, czy indeks został pomyślnie utworzony w klastrze, podczas gdy „shards_acknowledged” pokazuje, czy wymagana liczba kopii odłamków została uruchomiona dla każdego odłamka w określonym indeksie przed czasem.

Jak wyświetlić indeks ElasticSearch

Aby wyświetlić informacje o utworzonym indeksie, użyj podobnego żądania do tworzenia indeksu, ale użyj metody HTTP zamiast PUT jako:

Get /single_index_with_body

Do curl,

curl -xget „http: // localhost: 9200/single_index_with_body”

To polecenie poda szczegółowe informacje o żądanym indeksie jako:


„single_index_with_body”:
"skróty" : ,
„Mapowania”:
"nieruchomości" :
„Field1”:
„Typ”: „Obiekt”


,
„Ustawienia”:
„Indeks”:
"rozgromienie" :
„Alokacja”:
"włączać" :
„_Tier_Preference”: „data_content”


,
„Number_of_shards”: „2”,
„Dostarczone nazwę”: „single_index_with_body”,
„Creation_Date”: „1611045687208”,
„Number_of_replicas”: „2”,
„UUID”: „3TRKO7XMQCSUOOGTB6PXVA”,
„Wersja”:
„Utworzone”: „7100299”




Wniosek

W niniejszym przewodniku omówiono sposób pracy z ElasticSearch w celu utworzenia interfejsu API indeksowego w celu tworzenia nowych wskaźników. Omówiliśmy również, jak tworzyć odpowiednie nazwy dla indeksów i ustawień konfiguracji.

Korzystając z tego przewodnika, możesz teraz tworzyć i wyświetlić indeksy za pomocą API ElasticSearch.