Elastyczne wyszukiwanie

Jak tworzyć indeksy Elasticsearch

Jak tworzyć indeksy Elasticsearch
Elasticsearch jest jedną z części popularnego stosu ELK używanego do analizy i wyszukiwania logów. Aplikacje i systemy stale rejestrują dane, które mogą być bardzo przydatne przy rozwiązywaniu i śledzeniu problemów. Korzystając ze stosu ELK masz najlepsze narzędzia do szybkiego i bardzo łatwego wykonywania tych zadań.

W tym krótkim samouczku przyjrzymy się Elasticsearch, a konkretnie temu, jak tworzyć indeksy w silniku Elasticsearch. Chociaż nie potrzebujesz żadnej kompleksowej wiedzy na temat stosu ELK, aby śledzić ten samouczek, podstawowe zrozumienie następujących tematów może być korzystne:

UWAGA: Ten samouczek zakłada również, że masz zainstalowany i uruchomiony Elasticsearch w swoim systemie.

Czym są indeksy Elasticsearch??

Bez nadmiernego upraszczania lub nadmiernego komplikowania, indeks Elasticsearch jest zbiorem powiązanych dokumentów JSON.

Jak wspomniano w poprzednim poście, indeksy Elasticsearch są obiektami JSON uważanymi za podstawową jednostkę pamięci w Elasticsearch. Te powiązane dokumenty JSON są przechowywane w jednej jednostce, która tworzy indeks. Pomyśl o dokumentach Elasticsearch jak o tabelach w relacyjnej bazie danych.

Powiążmy indeks Elasticsearch jako bazę danych w świecie SQL.

Jak stworzyć indeks Elasticsearch

Elasticsearch wykorzystuje potężne i intuicyjne API REST do eksponowania swoich usług. Ta funkcjonalność pozwala na użycie żądań HTTP do wykonywania operacji na klastrze Elasticsearch. Dlatego użyjemy interfejsu API tworzenia indeksów, 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 Kibana Console.

Składnia tworzenia nowego indeksu w klastrze Elasticsearch to:

POŁOŻYĆ /

Aby utworzyć indeks, wystarczy podać nazwę indeksu bez innych parametrów, co spowoduje utworzenie indeksu z domyślnymi ustawieniami.

Możesz również określić różne funkcje indeksu, takie jak w treści indeksu:

  • Ustawienia indeksu
  • Aliasy indeksowe
  • Mapowania dla pól indeksowych

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

curl -X PUT „localhost:9200”
"error":"Nieprawidłowa metoda HTTP dla uri [/] i metody [PUT], dozwolone: ​​[DELETE, HEAD, GET]","status":405

Aby utworzyć nowy indeks o nazwie single_index, przekazujemy żądanie:

PUT /pojedynczy_indeks

Dla cURL użyj polecenia:

curl -X PUT "localhost:9200/single_index?ładny"

Polecenie to powinno skutkować komunikatem HTTP Status 200 OK i komunikatem Confirmed: true jako:


„potwierdzony”: prawda,
"odłamki_potwierdzone" : prawda,
"indeks" : "pojedynczy_indeks"

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

Zasady nazewnictwa indeksów

Tworząc nazwy dla indeksów Elasticsearch, należy przestrzegać następujących standardów nazewnictwa:

  1. Nazwa indeksu musi być pisana małymi literami.
  2. Nazwy indeksów nie mogą zaczynać się od myślnika (-), podkreślenia (_) ani znaku dodawania (+)
  3. Nazwy nie mogą być cannot . lub…
  4. Nazwy indeksów nie mogą zawierać znaków specjalnych, takich jak: \, /, *, ?, “, <, >, |,"(spacja), ,, #
  5. Długość nazw indeksów musi być mniejsza niż 255 bajtów. Znaki wielobajtowe będą liczone 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ę od . są zarezerwowane dla indeksów ukrytych i indeksów wewnętrznych używanych przez wtyczki Elasticsearch.

Jak stworzyć ciało indeksujące?

Używając żądania PUT do utworzenia indeksu, możesz przekazać różne argumenty, które definiują ustawienia indeksu, który chcesz utworzyć. Wartości, które możesz podać w treści, to:

  • Skróty: Określa aliasy dla indeksu, który chcesz utworzyć; ten parametr jest opcjonalny.
  • Ustawienia: Definiuje to opcje konfiguracyjne dla indeksu, który chcesz utworzyć. Jeśli nie określisz żadnych parametrów, indeks zostanie utworzony przy użyciu domyślnych konfiguracji.
  • Mapowania: To definiuje mapowanie dla pól w indeksie. Specyfikacje, które można uwzględnić w mapowaniach, obejmują:
    • Nazwa pola
    • Typ danych
    • Parametr mapowania

Aby zapoznać się z przykładem tworzenia indeksu z konfiguracjami treści, rozważ poniższe żądanie:

PUT /single_index_with_body

"ustawienia":
„liczba_odłamków”: 2,
„liczba_replik”: 2
,
„odwzorowania”:
"nieruchomości":
"field1": "type": "object"


Dla żądania równoważnego 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" '

Powyższe żądanie tworzy nowy indeks o nazwie single_index_with_body z 2 liczbami shardów i 2 replikami. Tworzy również mapowanie z polem name field1 i wpisuje jako obiekt JSON.

Po wysłaniu wniosku otrzymasz odpowiedź ze statusem wniosku jako:


„potwierdzony”: prawda,
"odłamki_potwierdzone" : prawda,
"indeks" : "pojedynczy_indeks_z_body"

„Acknowledged” pokazuje, czy indeks został pomyślnie utworzony w klastrze, podczas gdy „shards_acknowledged” pokazuje, czy wymagana liczba kopii fragmentów została uruchomiona dla każdego fragmentu w określonym indeksie przed upływem limitu czasu.

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:

POBIERZ /single_index_with_body

Dla cURL,

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

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


"single_index_with_body" :
"skróty" : ,
"mapowania" :
"nieruchomości" :
"pole1" :
"typ" : "obiekt"


,
"ustawienia" :
"indeks" :
"wytyczanie" :
"przydział" :
"zawierać" :
"_tier_preference" : "zawartość_danych"


,
"liczba_odłamków" : "2",
"provided_name" : "single_index_with_body",
"data_utworzenia" : "1611045687208",
"liczba_replik" : "2",
„uuid” : „3TRkO7xmQcSUOOGtb6pXVA”,
"wersja" :
„utworzono” : „7100299”




Wniosek

W tym przewodniku omówiono, jak pracować z Elasticsearch przy tworzeniu interfejsu API indeksów w celu tworzenia nowych indeksów. Dyskutowaliśmy również o tym, jak stworzyć odpowiednie nazwy dla indeksów i ustawień konfiguracyjnych.

Korzystając z tego przewodnika, możesz teraz tworzyć i przeglądać indeksy za pomocą API Elasticsearch.

Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...