Jakie są typy mapowania?
W ElasticSearch każdy dokument należy do indeksu i typu. Indeks można uznać za bazę danych, podczas gdy typ można postrzegać jako tabelę w porównaniu z relacyjną bazą danych. Typ mapowania był logiczną partycją obiektu z innymi obiektami, które należały do innych typów mapowania w tym samym indeksie.
Każdy typ mapowania ma swoje własne pola. Na przykład rodzaj użytkownik może mieć następujące pola:
„ID”: 123,
„Nazwa”: „Shubham”,
„Strona internetowa”: 1
Kolejny typ mapowania w tym samym indeksie strona internetowa może mieć następujące pola, które są zupełnie inne niż użytkownik typ:
„ID”: 1,
„Tytuł”: „Linuxhint”,
„Link”: „https: // Linuxhint.com/"
Podczas wyszukiwania dokumentu w indeksie wyszukiwanie mogło być ograniczone do jednego dokumentu, określając pojedyncze pole jako:
Uzyskaj IDX_name/Użytkownik, strona internetowa/_search
"zapytanie":
"mecz":
„ID”: 1
_typ pole dokumentów zostało połączone z jego _ID do wygenerowania _UID pole, więc dokumenty z tym samym _ID może istnieć w jednym indeksie.
Przeczytaj samouczek Elasticsearch dla początkujących w celu głębszego zrozumienia architektury Elasticsearch i zacznij od niej z instalacją Elasticsearch na Ubuntu.
Dlaczego są usuwane typy mapowania?
Podobnie jak to, co powiedzieliśmy powyżej, wyjaśniając, w jaki sposób indeks i typy były podobne do bazy danych i tabeli w relacyjnej bazie danych, zespół ElasticSearch pomyślał to samo, ale nie było tak, ponieważ silnik Lucene nie jest zgodny z tą samą analogią. Wynika to z następujących powodów:
Alternatywy dla typów mapowania
Chociaż podjęto decyzję, nadal musimy oddzielić różne typy danych. Teraz pierwszą alternatywą jest oddzielne dokumenty we własnym indeksie który ma dwie zalety:
Inną alternatywą dla oddzielenia danych jest utrzymanie zwyczaju _typ pole w każdym dokumencie, które wstawiamy, na przykład:
Umieść db_name/doc/123
„Typ”: „Użytkownik”,
„ID”: 123,
„Nazwa”: „Shubham”,
„Strona internetowa”: 1
Umieść db_name/doc/stronę internetową
„Typ”: „Strona internetowa”,
„ID”: 1,
„Tytuł”: „Linuxhint”,
„Link”: „https: // Linuxhint.com/"
To doskonałe użycie, jeśli szukasz kompletnego niestandardowego rozwiązania.
Harmonogram usuwania typów mapowania
Ponieważ usuwanie typów mapowania jest dużą zmianą, zespół ES powoli wykonuje ten proces. Oto harmonogram wdrożenia wyodrębnionego z elastycznych.współ:
Wniosek
W tej lekcji spojrzeliśmy na to, dlaczego typy mapowania elasticsearch zostały usunięte i będą całkowicie nieobsługiwane w nadchodzących wersjach.