Te wydanie comiesięcznego newslettera o Peekrze przeznaczam nowemu crawlerowi, a także nowej fladze wyszukiwania – filetype
.
Le crawler au Golang
Jak pewnie widzieliście w ostatnim czasie, mocno się za niego zabrałem i dopracowałem go tak, żeby robił swoją podstawową rzecz – indeksował strony. Kod crawlera możecie znaleźć tu i tam. Otworzyłem go dopiero teraz, żebym się nie musiał wstydzić za swoje grzechy w trakcie pisania absolutnych podstaw.
Na swoim blogu napisałem, jak mógłbym rozwijać swojego crawlera. Oprócz ostatnio dodanego wsparcia dla kompresowanych map stron (.xml.gz), planowałem (do 2026 roku) również:
- wesprzeć indeksowanie plików statycznych o rozszerzeniach DOCX, ODT, PDF i TXT;
- napisać na nowo sekcję związaną z indeksowaniem obrazów;
- umożliwić crawlerowi pozyskiwanie informacji o plikach VTT, żeby ułatwić wyszukiwanie filmów po poszczególnych stronach (nie mam wystarczającej mocy obliczeniowej, żeby na masową skalę generować transkrypcje filmów – już tak robiłem za czasów Pythona z obrazkami poprzez Tesseracta i efekt nie był zadowalający mimo sporego obciążenia maszyny).
Okazuje się jednak, że zaledwie kilka dni po publikacji wyżej wspomnianego postu do crawlera zrealizowałem już ten pierwszy punkt, co jest dla mnie czymś motywującym do dalszego działania. Nie zamierzam zwalniać, tym bardziej, że nowy crawler jest pisany w języku, którego przed rozpoczęciem prac praktycznie nie znałem (Go).
I tak, podjąłem spore ryzyko, rzucając się od razu na głęboką wodę. Teraz, z perspektywy czasu, tego nie żałuję. Są oczywiście pewne rzeczy, w których crawler pisany w Go mógł robić lepiej – i jedną z tych rzeczy, która znacznie przyspieszała działanie crawlera, jest asynchroniczne działanie. Co także też, przynajmniej częściowo, już się dzieje.
filetype
nową flagą wyszukiwania
Z innych rzeczy – dzięki temu, że crawler wspiera cztery nowe rodzaje plików statycznych – zaistniał sens dodania nowej flagi wyszukiwania, a jest nią filetype
. Oczywiście za jej pomocą jeszcze nią nic nie znajdziecie, bo a) nie ma jeszcze konkretnych danych w indeksie produkcyjnym, i b) musiałbym dodać też odpowiedni kod po stronie witryny internetowej. Jego wykorzystanie jest takie, że wpisuje się rozszerzenie wspierane przez crawlera. Na przykład filetype:html
dla stron internetowych. Albo filetype:odt
czy filetype:docx
dla bezpośredniego dotarcia do szukanych dokumentów w tych formatach.
Oczywiście bardzo daleko jest Peekrowi do tego, co w takim Google’u można znaleźć, but hey, some basics are already there!
Zastanawiam się też, czy nie optymalizować wyników wyszukiwania pod kątem “magicznych słów” – np. jest w polu wyszukiwania kwestionariusz
, formularz
, podanie
itd. itp. – Peekr podpowiada po cichu dodatkowe flagi podnoszące poszczególne pliki statyczne wyżej, np. (filetype:docx filetype:odt filetype:pdf)^5
. Warto założyć, że niektóre podmioty mogą korzystać z ODT mimo swojej “niszowości” i hehe, wiecie, “biedackości”. Oczywiście zakładam też możliwość robienia takich permutacji również w innych kontekstach.
To też pozwoli na przechodzenie z poziomu wyszukiwarki od razu do konkretnego pliku statycznego, bez przeklikiwania się przez słynne okienka o dwóch tysiącach stu trzydziestu siedmiu partnerach ceniących sobie za 30 srebrników naszą prywatność. Szukasz kwestionariusza na konkurs? Proszę bardzo, masz PDFa, wydrukuj sobie i przekaż wypełniony osobiście. Lub edytuj sobie na komputerze plik DOCX/ODT w swoim ulubionym edytorze tekstu. Simple as that!
Oczywiście na sam koniec zachęcam do zostawiania feedbacku i rzucania we mnie mięsem (preferuję mieszane, gdyby ktoś pytał), gdybym cokolwiek popsuł.