Po całym dniu w końcu siadasz do nauki… klikasz w IDE i…. 🤯

…nic

Jeszcze raz, 5ty, 10ty… nic… ?

Po chwili poszukiwań okazało się, że aktualizacja systemu odinstalowała VS Code, a wraz z nim wszelkie zainstalowane dodatki. 🤦‍♂️

Nie tego oczekiwałem mając 1,5h na wieczorną naukę… 😂

Ale cóż… całe szczęście wystarczyło pobrać szybko i zainstalować program po czym wszystko ruszyło jak zawsze.

No dobra, ale przecież ja nie o tym…

Aplikacja client-server rośnie. Na tym etapie chcemy przeszukiwać wysłane wiadomości, a zwykłe LIKE ‘%tekst%’ jest nieefektywne.

Przyszedł czas na Full Text Search.  🔍

🎯 Wyzwanie:

Zadaniem była implementacja FTS (Full Text Search) do przeszukiwania wiadomości użytkowników. A dokładnie:

📌 Zrozumienie działania FTS na podstawie dokumentacji
📌 Implementacja FTS w moim Postgres Handler
📌 Szybka alternatywa w SQLite Handler (nie chcę, żeby jedna baza działała, a druga nie)
📌 Dostosowanie całego kodu, żeby wszystko grało bezproblemowo

🛣️ Droga:

Zamiast przedzierać się przez kilka obszernych artykułów (często wyolbrzymionych na to, co potrzebuję), spróbowałem czegoś innego.

Wrzuciłem kilka źródeł do NotebookLM i poprosiłem o skondensowanie wiedzy w krótki poradnik dla osoby, która z FTS jeszcze nie korzystała.

I… WOW.

Zamiast ponad godziny czytania i szukania miałem jeden zwięzły “poradnik” do przeczytania w 15 minut. Gdy czegoś nie rozumiałem – pytanie, odpowiedź prosto w sedno.

Ale implementacja to nie tylko teoria… 😅

Główny problem? FTS w PostgreSQL i SQLite to dwa różne światy. PostgreSQL ma wbudowane tsvector i tsquery, SQLite wymaga osobnego modułu FTS5. Tutaj poszedłem na łatwizne i zastosowałem w SQLite zwykły LIKE, bo focus był na zrozumieniu FTS w produkcyjnej bazie.

Największym wyzwaniem jednak okazał się powrót do kodu po 2-3 miesiącach przerwy, bo w międzyczasie pisałem inny projekt. 😅 Ale tym razem i tak naprawdę gładko poszło!

✅ Wynik:

Po dwóch wieczornych sesjach kodowania:

🎯 FTS działa w PostgreSQL
🎯 SQLite również przeszukuje wiadomości
🎯 System gotowy na przeszukiwanie setek wiadomości w mikrosekundach
🎯 Kod modułowy – każda baza ma swojego handlera

Co najważniejsze – zrozumiałem w praktyce, jak działa full-text search. To fundament pod to, co przyjdzie dalej: ElasticSearch w tym projekcie, a potem… zobaczymy. 💪

Kolejne wyzwanie już czeka! 😉

Link do repo: https://gitlab.com/DawDro/FirstClientServerApp

A Wy macie sprawdzone narzędzia do “trawienia” dokumentacji? Podzielcie się! 👇

2 thoughts on “Po całym dniu w końcu siadasz do nauki… klikasz w IDE i…. 🤯

  • visit article
    2026-03-27 at 00:59

    I am really impressed with your writing skills as well as with the layout on your blog.
    Is this a paid theme or did you modify it yourself?
    Anyway keep up the excellent quality writing, it’s rare to
    see a nice blog like this one these days.

    • DawDro
      2026-04-20 at 10:48

      Thanks a lot! That’s nice to hear that.

      Its a free theme with a little bit of customization on my side 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *.

*
*