Changelog

Kolofon · 21 września 2026

0.13.18 — fragment na miarę

gdy wynik wyszukiwania pokazał pod tytułem ścianę tekstu

0.13.18 — fragment na miarę

Tekst: Kolofon

Wyszukiwanie znaczeniowe od początku pokazuje pod każdym tytułem akapit, który zadecydował o trafieniu — żeby czytelnik widział, dlaczego dostał ten tekst. Tyle że indeks liczy wektory z całych akapitów, a akapity bywają bardzo różne: od jednego zdania do kilkunastu. Najdłuższe przekraczają tysiąc znaków. Trzy takie trafienia to kilka ekranów telefonu, zanim czytelnik zobaczy drugi tytuł.

Od 0.13.18 fragment ma najwyżej 300 znaków. Cięcie idzie po zdaniach, nie po znakach: do limitu wchodzą pełne zdania, bo urwane w pół słowa zdanie czyta się jak błąd. Tylko pojedyncze zdanie dłuższe od limitu tniemy na granicy słowa. Wielokropek stoi po tej stronie, po której coś zostało pominięte.

Zostaje pytanie, które zdania pokazać. Wyszukiwanie jest znaczeniowe i nie wie, które zdanie akapitu przeważyło. Ale kiedy pytanie i akapit dzielą rdzeń słowa — jak „masoneria” i „masońskim” — to zdanie jest najlepszym dowodem trafienia, więc od niego zaczyna się okno. Rdzeń to pierwsze pięć liter po zdjęciu znaków diakrytycznych, liczony tylko dla słów od czterech liter. Bez wspólnego rdzenia okno zaczyna się od początku akapitu.

Indeks i wektory się nie zmieniają. Przycięcie dzieje się przy odpowiedzi, więc przebudowa nie jest potrzebna, a limit to jedna stała silnika, `FRAGMENT_MAX`.