Z dwóch poprzednich wpisów dowiedzieliśmy się jak skonfigurować lokalne środowisko oraz czym jest Elastic Stack. Dziś dowiemy się jakie narzędzia przydadzą nam się zarówno do nauki Elasticsearcha, jak i w codziennej, produkcyjnej pracy z nim.

Kibana Dev Tools

Początkowo, wraz z niniejszym cyklem, miałem zamiar rozwijać testową aplikację/skrypt, która komunikowałaby się z Elasticsearchem i prezentowała konkretne, omawiane tu zagadnienia. Nie chciałem jednak korzystać z żadnego fluent API, czy innego wysokopoziomowego klienta, bo mogłoby to zaciemniać obraz tego co i gdzie jest wysyłane. Kiedy na prezentacji Dominiki i Patryka zobaczyłem co można zrobić w narzędziach deweloperskich Kibany, wiedziałem, że sprawdzą się tutaj idealnie.

Konsola w Kibana Dev Tools

Konsola w Kibana Dev Tools

Podpowiadanie składni zapytań, endpointów, czy automatyczne formatowanie JSON-ów będzie dla nas bardzo pomocne. Jednocześnie, patrząc na powyższy zrzut ekranu, łatwo zauważyć przejrzystość tego rozwiązania – od razu widać co, gdzie i jak wysyłamy. Pozostanie tylko odpowiedzieć „dlaczego?” 🙂

Samą Kibanę już znamy. Jej instalacja i uruchomienie są zupełnie analogiczne do instalacji i uruchomienia Elasticsearcha prezentowanych w pierwszym wpisie tego cyklu. Krótką instrukcję obsługi narzędzi znajdziemy w dokumentacji Kibany. Konsolę widoczną powyżej dostajemy od razu po instalacji. ProfilerGrok Debugger dostępne są po instalacji X-Packa w Kibanie.

Cykl artykułów "Uczymy się Elasticsearch"

Ten wpis jest częścią cyklu, w którym staram się pokazać w jaki sposób możesz zbudować przyjazną dla użytkownika wyszukiwarkę, wykorzystując do tego celu potężny silnik wyszukiwania jakim jest Elasticsearch.

Do tej pory w ramach cyklu ukazały się następujące artykuły:

  1. instalacja, uruchomienie i pierwsze zapytanie
  2. kilka słów na temat Elastic Stack
  3. przydatne narzędzia
  4. indeks odwrócony Apache Lucene
  5. wyszukiwanie pełnotekstowe
  6. trafność
  7. przygotowanie tekstu do optymalnego wyszukiwania
  8. coś poszło nie tak, czyli seria moich fackupów
  9. zaczarowany zakreślacz
  10. o co jeszcze możemy zapytać?
  11. ...

ElasticSearch Head (Chrome Extension)

Kibana jest dosyć ciężka. Niby 400 megabajtów po rozpakowaniu jakoś nie straszy, ale 46 tysięcy plików może zdziwić 🙂 Czasami możesz nie mieć potrzeby albo możliwości zainstalowania jej tylko po to, żeby skorzystać z narzędzi deweloperskich. W takim przypadku warto rozważyć instalację rozszerzenia do przeglądarki Chrome o nazwie ElasticSearch Head. Rozszerzenie opakowuje aplikację o tej samej nazwie, która może być również uruchomiona jako niezależny serwis lub jako plugin do Elasticsearcha (do wersji 2.x).

ElasticSearch Head

ElasticSearch Head

Oprócz odpalania zapytań ElasticSearch Head daje też ogólny pogląd na cały serwer Elasticsearch, na rozkład shardów i replic na poszczególnych węzłach, czy na poszczególne indeksy znajdujące się na naszym serwerze. Całkiem po(d)ręczne narzędzie.

Luke: Lucene Toolbox Project

Ostatnim omawianym dziś narzędziem, które może nam się przydać, jest Luke. Nie jest on związany wyłącznie z Elasticsearchem, ale z tym co znajduje się pod spodem, czyli z biblioteką Apache Lucene. Wspominałem już kiedyś, że to właśnie z jej udziałem został zbudowany Elasticsearch i to ona odpowiedzialna jest za to jak wygląda wykorzystywany przez niego indeks dokumentów.

Luke: Lucene Toolbox Project

Luke: Lucene Toolbox Project

Kiedy zależy nam, żeby zobaczyć jak taki indeks wygląda wewnątrz i czy został zbudowany po naszej myśli, to Luke nadaje się do tego idealnie. Dodatkowo pozwala również sprawdzić m.in. jak zachowują się poszczególne analizatory Apache Lucene (na których oparte są analizatory Elasticsearcha).

Trzeba otwarcie przyznać, że UI nie jest tu najładniejszy (chociaż to co widzicie powyżej, to jest już odświeżona wersja), a UX miejscami mocno kuleje. Nie ma jednak tutaj kogo za bardzo obwiniać. Program istnieje ładnych parę lat i tułał się przez ten czas od programisty do programisty. Z tego powodu w internecie można znaleźć go w wielu różnych miejscach (wersjonowanego na kilka różnych sposobów). Ostatnio Dmitry Kan stara się nadać projektowi jeden spójny kierunek. Mam nadzieję, że się mu to uda, bo nie znalazłem do tej pory niczego co mogłoby się z Lukiem równać.

The End

To tyle. Te trzy narzędzia będą nam towarzyszyły w kolejnych odcinkach tej serii. Z całą pewnością nie wszystkie za każdym razem, ale warto wiedzieć co mamy do dyspozycji. Ich znajomość przyda Ci się również w komercyjnych projektach.

Bądź na bieżąco!

Podobają Ci się treści publikowane na moim blogu? Nie chcesz niczego pominąć? Zachęcam Cię do subskrybowania kanału RSS, polubienia fanpage na Facebooku, zapisania się na listę mailingową:




Uwaga! Jeżeli w ciągu 24-godzin od zapisania się na listę mailingową nie otrzymasz wybranego przez siebie prezentu to skontaktuj się ze mną.

Zgoda? Zapisując się do newslettera wyrażasz zgodę na przesyłanie Ci starannie wyselekcjonowanych informacji marketingowych. Powyższe dane są przechowywane w systemie MailChimp i nie są udostępniane nikomu więcej.

lub śledzenia mnie na Twitterze. Generalnie polecam wykonanie wszystkich tych czynności, bo często zdarza się tak, że daną treść wrzucam tylko w jedno miejsce. Zawsze możesz zrobić to na próbę, a jeśli Ci się nie spodoba – zrezygnować :)

Dołącz do grup na Facebooku

Chcesz więcej? W takim razie zapraszam Cię do dołączenia do powiązanych grup na Facebooku, gdzie znajdziesz dodatkowe informacje na poruszane tutaj tematy, możesz podzielić się własnymi doświadczeniami i przemyśleniami, a przede wszystkim poznasz ludzi interesujących się tą samą tematyką co Ty.

W grupie Programista Na Swoim znajdziesz wiele doświadczonych osób chętnych do porozmawiania na tematy krążące wokół samozatrudnienia i prowadzenia programistycznej działalności gospodarczej. Vademecum Juniora przeznaczone jest zaś do wymiany wiedzy i doświadczeń na temat życia, kariery i problemów (niekoniecznie młodego) programisty.

Wesprzyj mnie

Jeżeli znalezione tutaj treści sprawiły, że masz ochotę wesprzeć moją działalność online, to zobacz na ile różnych sposobów możesz to zrobić. Niezależnie od tego co wybierzesz, będę Ci za to ogromnie wdzięczny.

Na wsparciu możesz także samemu zyskać. Wystarczy, że rzucisz okiem na listę różnych narzędzi, które używam i polecam. Decydując się na skorzystanie z któregokolwiek linku referencyjnego otrzymasz bonus również dla siebie.

Picture Credits
Tribute to Patrons