15. Elasticsearch w „weekend”? Kiedy fundament robi robotę 🔍

Pamiętacie mój ostatni post o Full Text Search? Nowy sposób na dokumentację – NotebookLM ratujący godziny… oraz implementacja FTS w PostgreSQL.

Tym razem było bardzo podobnie – szybka piłka.

🎯 Wyzwanie:

Kolejny etap projektu client-server – wymiana natywnego FTS w PostgreSQL na Elasticsearch. Dedykowany silnik wyszukiwania, osobny kontener w Docker Compose, indeksowanie wiadomości, reindeksacja bazy…

Brzmi jak sporo roboty?

🛣️ Droga:

Kilka krótkich wieczorów i… gotowe. Bez większych problemów, bez wielogodzinnego debugowania, bez frustracji.

Co się zmieniło? Zrozumienie FTS z poprzedniego etapu. Wiedząc już jak działa wyszukiwanie pełnotekstowe „pod spodem”, Elasticsearch okazał się naturalną ewolucją, a nie skokiem w nieznane. Koncepcje były znajome – zmieniło się tylko narzędzie.

W praktyce:

– EsHandler do indeksowania wiadomości (add, search, reindex)
– Elasticsearch jako kontener w Docker Compose
– Automatyczne indeksowanie nowych wiadomości
– Komenda reindex dla admina do przeładowania całej bazy|
– PostgreSQL dalej jako source of truth, Elastic tylko do wyszukiwania

✅ Wynik:

Działający Elasticsearch zintegrowany z aplikacją. Ale najcenniejsza lekcja jest inna…

Ten projekt ciągnę już od ponad roku (z przerwami). Zaczynał jako prosty konsolowy komunikator, dziś ma Docker, PostgreSQL, system logowania, role użytkowników, a teraz Elasticsearch.

Można zapytać – czemu nie zacznę czegoś nowego?

Bo w realnej pracy rzadko pisze się coś „od zera”. Zazwyczaj wchodzisz do istniejącego projektu i musisz się wpiąć z nową funkcjonalnością. Zrozumieć co już jest, nie zepsuć tego co działa, rozbudować w sposób spójny z resztą. To zupełnie inna umiejętność niż pisanie na czysto.

Każdy nowy stage tego projektu to pretekst do nauki – ale w realistycznych warunkach. I to chyba najlepsza część tej podróży. 💪

Co dalej? Zobaczymy. Pomysłów nie brakuje! 😉

A Wy – wolicie zaczynać projekty od zera, czy rozbudowywać istniejące projekty? Co daje Wam więcej satysfakcji?

#Python #Elasticsearch #Docker #Backend #Programowanie #NaukaProgramowania #Portfolio

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola oznaczone są *

*
*