Blog

Nyt Drupal modul giver bedre søgeresultater

Solr er en fantastisk søgemaskine, som spiller helt perfekt med Drupal
Vi holder meget af det stærke og fleksible søgeindex "Solr". Så meget, at vi har hjulpet det til at søge på dansk i Drupal.
lls billede

Solr er en fantastisk søgemaskine, som spiller helt perfekt med Drupal. Med Solr kan man finde hvad som helst i de store databaser - hvis ellers man spørger på den rigtige måde. Og netop måden at spørge på, har vi hjulpet på vej med et nyt modul til Drupal.

Men lad os starte ved begyndelsen. Solr søgemaskinen er udviklet til det engelske sprog, som adskiller sig fra vores lokale ved ikke at anvende sammensatte ord. Vi skriver baconsandwich, de skriver 'bacon sandwich'. Og det sidste er langt at foretrække, når man laver søgninger.

Hvis vi leder efter en engelsk "bacon sandwich", finder vi den uanset om vi skriver bacon eller sandwich (eller begge dele) i søgefeltet. Men leder vi efter en dansk "baconsandwich", skal vi skrive hele ordet for at få mad. Eller også skal vi skrue på opsætningen af søgefunktionen.

I standardopsætningen af søgefunktionen i Drupal søger man på hele ord, fordi det er smart på engelsk. Når der er flere ord i søgestrengen, kan man vælge om man vil søge efter hele sætningen ("bacon sandwich") eller efter alle ordene ("bacon AND sandwich") eller efter bare ét af ordene ("bacon OR sandwich"). Endelig kan man tilføje "wildcards" som tillader at der er flere bogstaver omkring eller efter søgeordet. (*bacon* eller bacon*).

Nu kommer det smarte: Det nye modul omskriver en søgeforespørgsel til at indeholde alle disse forespørgsler på én gang. Det betyder:

Hvis du søger på ‘bacon sandwich’ vil du (i stedet for ENTEN at søge på hele sætningen ELLER de enkelte ord) søge på hele balladen. I søgesprog bliver søgning på 'bacon sandwich' omformuleret til: 

"bacon sandwich" ELLER ((bacon ELLER bacon* ELLER *bacon*) OG (sandwich ELLER sandwich* ELLER *sandwich*))

- og så vil du finde din baconsandwich :-)

Til overflod kan man tilføje "fuzzy søgning" - som tillader stavefejel - og meget mere.

Resultatet er en meget bedre balance mellem præcision og bredde i søgninger - især for os, der bruger 'ordsammensætninger'.