• On-Site Suche für Online-Shops
  • Seit 7 Jahren dabei
  • 18 Sprachen, 20 Länder, 20 Millionen Benutzer

Warum Suche?

 

 

Gute Suche für 78% der Besucher das Wichtigste

Suche ist überall

  • Internet
  • eCommerce
  • CMS, Blogs
  • Intranet
  • Wissenschaft
  • ...

Wie suchen?

Problem solved

  • Passende Dokumente zu Worten finden
  • Wort → Seite / Dokument ID / Artikel ID / URL

Inverted Index

Warum keine DB?

Viele Performance Killer:

  • Optimiert für Lesen / Schreiben
  • Schreiben erfordert Locks
  • Normalisierte Daten, JOINs
  • Schlecht für unstrukturierte Daten (=Text)

Dokument #1: the quick brown fox

Dokument #2: the slowest green fox

Index
brown #1
fox #1, #2
green #2
the #1, #2
quick #1
slowest #2

Suche: quick fox

→ #1

Dokument #1: the quick brown fox

Dokument #2: the slowest green fox

Index
brown #1
fox #1, #2
green #2
the #1, #2
quick #1
slowest #2

Suche: slowest foxes

→ kein Ergebnis

Analysis

  • häuser findet nichts zu haus? Stemming
  • apfelsine findet nichts zu orange? Synonyme
  • schiff findet nichts zu dampfschiff? Wortauftrennung
  • das haus findet nichts zu ein haus? Stopwords
  • Sowohl beim Import als auch bei der Suche
Index Query
die schreibtischlampen eine leuchte
Tokenization die schreibtischlampen eine leuchte
Stopword schreibtischlampen leuchte
Wortauftrennung schreib tisch lampen leuchte
Stemming schreib tisch lamp leucht
Synonyme
(nur Index)
schreib tisch lamp leucht leucht

Precision vs Recall. Fight!

Levenshtein

Tier~
1. Ersetze i durch o Toer
2. Streiche e Tor