Osoby, które nieco dokładniej śledzą moje blogowe poczynania mogły zauważyć, że na konferencję ByteBay 2018 wybrałem się głównie po to, żeby wziąć udział w warsztatach związanych z Elasticsearchem. Przyznam, że ostatnio wkręciłem się trochę w ten temat 🙂

Całe zainteresowanie rozpoczęło się dosyć przypadkowo. W nowym projekcie dla Roche’a głównym kiler-ficzerem miało być super ekstra wyszukiwanie po wszystkim po czym tylko się da „prawie jak w Google” 😉 Wybór silnika padł właśnie na Elasticsearch, a seria (nie)fortunnych zdarzeń zrobiła ze mnie głównego developera tej części aplikacji. Przypadek? Nie sądzę 🙂

Od jakiegoś czasu staram się pogłębiać wiedzę na temat Elasticsearcha również w wolnych chwilach. Co pokazuje choćby wspomniany udział w ByteBay 2018, czy pomaganie innym na StackOverflow:

Po chwili przemyślenia stwierdziłem, że mimo niezbyt długiego czasu pracy z Elasticsearchem, napotkałem po drodze kilka ciekawych problemów, których rozwiązań nie znalazłem w prosty sposób w internecie. Trochę przemyśleń oraz planowania i zdecydowałem się zrobić cykl artykułów na temat tego silnika wyszukiwania, który właśnie tym wpisem inauguruję. Taki od zera do bohatera.

Będzie tu kilka wpisów prostych, wprowadzających w temat, ale znajdą się też takie opisujące realnie napotkane problemy. Zachęcam do śledzenia. Ostrzegam, że tempo nie będzie porywające. Chcę żeby był to cykl powstający obok mojego (w miarę) regularnego, czwartkowego publikowania. Plan minimum, to jeden wpis na dwa tygodnie, w co drugi poniedziałek o 21:40. Wiesz jak jest – doba ma tylko 24 godziny 😉

Dziś nie będziemy szaleć 🙂 Zobaczymy jak szybko można zacząć z przygodę z Elasticsearchem i przygotujemy środowisko na przyszłość.

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. kilka słów na temat Apache Lucene
  5. rodzaje pełnotekstowych zapytań
  6. ...

Instalacja

Najnowszą wersję Elasticsearch pobieramy ze strony elastic.co/downloads/elasticsearch. Wystarczy nam wersja ZIP lub TAR.

Archiwum zawiera jeden folder o nazwie elasticsearch-X.Y.Z, który wypakowujemy w wybrane przez siebie miejsce. Nazwijmy sobie tę ścieżkę $ES_HOME.

Koniec instalacji 🙂 Oczywiście koniec na nasze potrzeby. W dokumentacji znajdziesz o wiele więcej opcji konfiguracyjnych. Jednak w większości przypadków, do celów deweloperskich wystarczy nam to co przychodzi ustawione domyślnie.

Uruchomienie

Uruchomienie jest równie proste.

Jedyne co jest nam potrzebne do uruchomienia Elasticsearcha jest JVM. W chwili kiedy do piszę autorzy zalecają używanie Java 8 (najlepiej build minimum 1.8.0_131). Ja u siebie zainstalowałem wersję 1.8.0_172-b11.

Gdy Java jest już zainstalowana, to przechodzimy do folderu $ES_HOME/bin i w zależności od systemu uruchamiamy skrypt elasticsearch lub elasticsearch.bat. Zainteresowanych tematem kompatybilności i wsparcia Elasticsearcha z różnymi systemami odsyłam do dokumentacji.

Po chwili w konsoli powinniśmy otrzymać informację, że Elasticsearch został uruchomiony na porcie 9200. Wchodząc pod adres http://localhost:9200 w swojej ulubionej przeglądarce powinniśmy zobaczyć coś podobnego:

Voilà! 😀

Pierwsze zapytanie

Chcąc przeszukać naszego Elasticsearcha wchodzimy pod adres http://localhost:9200/_search, a że na razie jest pusty to zobaczymy coś takiego:

a jeżeli do adresu dodamy parametr pretty=true (http://localhost:9200/_search?pretty=true), to odpowiedź od Elasticsearcha będzie przyjemniej dla oka sformatowana:

The End

To tyle na dziś. Wiem, wiem… szaleństwa nie ma 😉 Tak jak zapowiadałem – początkowe wpisy będą swoistym wstępem do tematu, jednak na koniec będziesz w stanie zbudować całkiem fajnie działającą wyszukiwarkę danych. Poproszę Cię o jeszcze chwilę cierpliwości.

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. 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ć :)

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 (nie koniecznie młodego) programisty.

1 000 000 zł

Milion złotych. Tak, milion złotych. Milion złotych to cel, który sobie postawiłem jakiś czas temu. Chcę zarobić milion złotych na tym blogu. Do tej pory zebrało się 23 142,11 zł, więc jak widzisz jest już co pokazać, ale do celu nadal sporo brakuje. Jeszcze nie wiem do końca jak, ale to zrobię. Na pewno nigdy nie będę pobierał żadnych opłat za dostęp do treści, bo tymi chcę się po prostu dzielić.

Wysoko ponad ten milion stawiam na szerzenie wiedzy i dotarcie do jak największej liczby osób. I tu mam prośbę do Ciebie: jeśli uważasz, ten artykuł za wartościowy, to udostępnij go proszę swoim znajomym. Przy lewej lub dolnej (na małych wyświetlaczach) krawędzi ekranu znajdziesz przyciski, które Ci to ułatwią. Jeżeli ich nie widzisz, to najprawdopodobniej zostały zablokowane przez Twój program do blokowania reklam. Niezależnie od tego, czy prześlesz ten wpis dalej, czy nie, to ja i tak dziękuję Ci serdecznie za doczytanie do tego miejsca! Do przeczytania niebawem.

PS. Jeśli mój blog przypadł Ci do gustu tak bardzo, że chciał(a)byś mi się w jakiś sposób odwdzięczyć, to mam dla Ciebie kilka ciekawych propozycji, z których możesz skorzystać. Szczególnie gorąco zachęcam do wsparcia poprzez serwis Patronite, ale jeżeli zdecydujesz się na którąkolwiek z wymienionych opcji, to serdecznie Ci za to DZIĘKUJĘ!

Picture Credits