Wyszukiwanie w produkcie często postrzegane jest jak każda inna backendowa usługa, a sam silnik traktowany jako po prostu kolejne rozwiązanie NoSQL. Prawda jest inna. Dostarczenie funkcjonalności trafnej wyszukiwarki to złożone zadanie, którego wyzwania rozwiązuje się na wielu poziomach organizacji. Już na samym starcie problematyczna staje się analiza tekstu – nasze dane tekstowe nie są ustrukturyzowane, a różne języki musimy analizować w różny sposób (sporo języków nie posiada spacji, pozwalającej łatwo oddzielić od siebie słowa), do tego dochodzi całe morze synonimów i skrótów, a to wszystko – zanim na dobre zaczniemy się bawić z trafnością.
Właśnie ta trafność to rdzeń naszego wyzwania.
Co pokazać użytkownikowi, gdy wpisuje “wędkowanie”?
Które ze słów w zapytaniu, jest ważniejsze od pozostałych?
Jeśli mamy dwa dokumenty, które pasują równie dobrze, który jest istoniejszy dla użytkownika?
O co właściwie chodziło w zapytaniu “etwajk”??
W trakcie prezentacji pokażę mały skrawek pracy search engineera. Przejdziemy szybką ścieżką od bezużytecznego zapytania SQL do czegoś, co zaczyna przynosić wartość użytkownikowi. Obraz ten będzie daleki od skończonego, ale praca przy trafności nigdy się nie kończy.