Parenteser

Betraktninger fra Mat-teamets grønne enger

Fulltekstsøk fra bunnen av

Fulltekstsøk kan virke magisk. Hva er det egentlig som foregår når jeg får treff på “klovneforskning” etter å ha søkt på “forske”? Gjennom disse bloggpostene håper jeg å finne ut av det ved å bygge en enkel søkemotor fra bunnen av i JavaScript. Resultatet blir godt nok til å ta i bruk i prod på beskjedne datamengder (noen tusen dokumenter).

Bokstavkjeks – den som leter skal finne!

Tenk, hele Ibsens samlede verker er å finne i en boks med bokstavkjeks. Omtrent den tilnærmingen skal vi nå ta idet vi lager en liten søkemotor i JavaScript for å forstå hvordan fulltekstsøk funker.

Noen bokstavkjeks er likere enn andre

Sist vi så på hvordan fulltekstsøk fungerer anså vi alle symbolene i indeksen som like viktige. Men sånn er det ikke alltid i praksis – eksempelvis er treff på hele ord bedre enn treff på bruddstykker av ord. Dette kan løses med vekting, som er dagens tema.

Bokstavpønt til bekymring

Unicode er overalt. Men noen steder er det fortsatt tryggest med det gode gamle ascii-tegnsettet, og i dette innlegget skal vi se på Unicode-normalisering som en vei dit.