Rolf b: Städtenamen ausserhalb des ASCI-Zeichensatzes finden

Beitrag lesen

Böse Anforderung...

Kollation ist ein naheliegendes Argument, aber welche soll er denn einstellen? Das Publikum ist ja nicht auf Polen beschränkt. Man müsste wissen, in welcher Sprache gerade gesucht wird und dann für die jeweilige Abfrage per COLLATE eine andere Collation einstellen. Aber weiß man das jedesmal?

Soundex ist nicht unbedingt geeignet, weil der Algorithmus auf die englische Sprache optimiert ist.

Ich kann mir vorstellen, dass Like-Abfragen mit regulären Ausdrücken keinen Index verwenden können und daher zum Table Scan führen, bestenfalls zu einem linearen Index Scan.

Eine Bildschirmtastatur für frei wählbare Sprachen wäre vielleicht möglich, dann könnte der Brite "Köln" eingeben. Aber ob es mir gelingen würde, korrekt Świnoujście zu tippklicken? Irgendein Strichlein wäre garantiert falsch. Und bei თბილისი (Tbilissi = Tiflis) wäre ich am Ende. Aber das ist ja auch keine lateinische Schrift :)

Ein weiterer sinnvoller Ansatz ist vermutlich eine Suchindex mit einer Zeile pro geographischem Begriff und Sprache. Einmal seine Heimatsprache, und dann ein Eintrag pro unterstützter Sprache deiner Webseite. Um das Akzeptproblem zu entschärfen, könntest Du zwei Spalten führen: eine in aller akzentuierten Pracht und eine in einer latinisiert-akzentfreien Form (Köln/koln, Świnoujście/swinoujscie, København/kobenhavn, Holbæk/holbaek, und auch Nichtbuchstaben müssen raus: Klein-Möhringen/kleinmohringen).Dem mutigen Anwender könnte man dann sagen, er könne bei Nichtfinden von Begriffen versuchen, die Zeichen, die er auf der Tastatur nicht hat, einfach ohne Akzent einzugeben.

Der Brite, der die Seite auf englisch sieht, kann nun Cologne suchen. Aber wenn er "Köln" kennt, kann er "Köln" über die Bildschirmtastatur eingeben. Das findest Du dann als nationale Schreibweise. Ein Niederländer gibt Keulen ein - da er die Seite auf Niederländisch sieht, kannst Du das als Match für den NL-Alias anerkennen. Und ich, der ich die Seite auf deutsch sehe und etwas zu Tiflis wissen will, gebe das ein. Wird als Tiflis (de) gefunden, als Alias von Tbilissi (ge). Wobei - der Brite braucht wiederum Tbilisi (en).

Ein Thema, bei dem ich froh bin, dass mein Arbeitgeber seinen Wirkungsbereich in Deutschland hat 😉

Rolf