stefan
Joined: 19/10/2006 21:34:04
Messages: 2
Offline
|
Hoi Marc
Kannst du den Algorithmus skizzieren (in Worten, Pseudcode), der hinter der Suche nach Geonamen steht auf der Geonames-Website?
Zusatzfrage: Ist das derselbe, wie derjenige bei den Webservices?
Hintergrund: Ich arbeite (auch) mit PostgreSQL und bin am tüfteln, was die "beste" Lösung sein könnte (exact Match, Umlaute, StartsWith-Match, Metaphone, Levenshtein-Distance, tsearch2, etc.) und v.a. wieviel beim Partial Matching Zusatzinformationen einfliessen (Alternative Names, Ontologies, etc.).
Gruss, Stefan
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Stefan
Für die Suche wird Lucene verwendet. Im Index stehen alle infos, unter anderem auch in ascii transkribiert. Für startsWith wird ab längeren string die entsprechende lucene funktion verwendet, für kleinere stehen die prefixe direkt im index. Die fuzzy search ist auch von lucene.
Um Datenquellen abzugleichen (zb mit Wikipedia) verwende ich zusätzlich auch andere Algorithmen (Levenshtein-Distance, etc). Diese werden bei der Suche aber nicht verwendet.
Gruss
Marc
|