Liebes Auge,
Vermutlich müssten verschiedene Funktionen kombiniert werden.
- Die von Gunnar angesprochene Venutzung bemachbarter Zasten. (???)
- Auslassng oder fälschliche Doppplung von Bucchsaben. (levenshtein)
- Richtige™ Rächtschraibfehler. (soundex)
- Unterschiedliche Schreibweisen z.B. wegen der Rechtschreibreform (bei Mudguard gefunden: aufwändig vs. aufwendig) (soundex)
vielleicht sollte ich so vorgehen?
1.) Jeder Datensatz wird wortweise phonetisch kodiert, aber anstelle von soundex vielleicht besser mit der Kölner Phonetik. Dieser Schritt geschieht nicht bei jeder Suche, sondern einmalig, wenn eine Seite gespeichert wurde.
2.) Jeder Suchbegriff wird wie beim ersten Schritt phonetisch kodiert.
3.) Die phonetischen Codes aller Seiten werden "wortweise" mit den ebenso phonetisch kodierten Suchbegriffen verglichen.
4.) Jeder Treffer wird auf korrekte Schreibweise überprüft, Abweichungen mit levenshtein() gemessen und mittels eines Grenzwertes (wieviele Ersetzungen sind zulässig?) als Treffer anerkannt oder verworfen.
Wie schnell das bei größeren Texten unerwünscht langsam wird, vermag ich nicht einzuschätzen. Vom Aufwand, das zu zufriedenstellend zu implementieren …
Dazu müsste ich obigen Algorithmus erst einmal implementieren und dann sehen, wie er sich sowohl bei der Treffer-Ermittlung, als auch in der Performanz bewährt.
Liebe Grüße,
Felix Riesterer.
"Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)