Ja
Wat er normaliter gebeurt, zeker bij zoveel tekst, is dat er een zogenaamde 'index' wordt gemaakt. Die index bevat niet (of niet alleen) de tekst "Wat er normaliter gebeurt...." maar juist allerlei voor de zoekmachine relevante informatie. En dat ook speciaal voor het zoeken geoptimaliseerd, zodat je niet bij elke zoekopdracht 30+GB aan tekst hoeft door te scannen.
Een aantal dingen die daar in kunnen staan:
- de term "wat" heeft id 1234 en staat in 56346 verschillende documenten, de term "normaliter" heeft id 536 en staat in 15256 documenten
- En dan per document (in ons geval per forumpost) term 1234 komt 30x voor, term 536 komt 1x voor etc.
- Voor het zoeken naar zinnen kan er nog iets in zitten als 'term 1234 stond op plek 1, term id 536 stond op plek 3, ...' ("er" zal vaak door 'stopword filtering' helemaal verdwenen zijn)
Die eerste twee worden doorgaans samen gebruikt om een relevantiescore te berekenen. De term 'wat' komt bij veel documenten voor, dus zal weinig invloed hebben op de relevantie. Terwijl 'normaliter' minder vaak voorkomt en in het specifieke document misschien wel ook nog eens relatief veel.
Stemming is hierbij op twee plekken relevant: voor het opbouwen van die index en tijdens het verwerken van een zoekopdracht. Een woord verdwijnt dus helemaal tijdens het stemmen bij indexeren, daar wordt dan met 'jeep' hetzelfde term-id gebruikt als met 'jep'.
Als we zowel de ongestemde en de gestemde versie willen indexeren, moet dus meer informatie worden bewaard. In bovenstaand voorbeeld zou er dan in de 'term index' meer woorden bijkomen. In de per-document index meer en in de positie-informatie zou dan staan "de term 'jeep' stond op plek 2"
en 'de term 'jep' stond op plek 2".
En dat kan ook wel in het door ons gebruikte lucene, maar zorgt dus wel voor een grotere zoek-index en daarmee voor potentieel langzamere zoekresultaten. En bovendien door andere aspecten van de zoekmachine soms ook voor meer complexiteit.
En dat is dus ook de reden dat het dan opnieuw geindexeerd zou moeten worden.
Die extra complexiteit komt doordat we niet alleen stemming doen in dit proces. We splitsen ook nog sommige samengestelde woorden deels op. Vooralsnog alleen als het een mix van cijfers en letters is of als er variatie in hoofdletters in zit ('HoofdLetters' zou dan los van eventuele stemming geindexeerd worden als 'hoofd' gevold door 'letters' en als 'hoofdletters').
Hoewel het ook voor andere woorden interessant is, want lang niet elke Nederlander past woordsamenstelling goed toe. Een recent voorbeeld dat mij onder ogen kwam is bijvoorbeeld het zoeken op 'robot stofzuiger'; waarbij het grote topic met titel 'Robotstofzuigers' niet bepaald vooraan kwam.
Al dat soort dingen geeft bij elke optimalisatie (zoals stemmen) altijd wel een reeks voorbeelden waarin het een verbetering is en een reeks waarin je zou willen dat het net anders werkte. Waarbij het ook nog van de verwachting van de gebruiker afhangt wat je krijgt (wil je bij 'robot' wel of niet 'robotstofzuigers' zien?)