Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Suche ähnlich wie Google (https://www.delphipraxis.net/127621-suche-aehnlich-wie-google.html)

GFEMajor 16. Jan 2009 08:10


Suche ähnlich wie Google
 
Hi.

Ich habe wieder mal eine Frage an euch.
Ich bin auf der Suche nach einer Komponente, in die ich eine TStringList (oder etwas ähnliches) durchsuchen kann. Es soll aber keine "normale" Suche sein, sondern so ähnlich wie bei Google. Wenn ein Wort falsch geschrieben wird (zum Beispiel: statt "Breite" "Briete"), dann soll das richtige Wort als Vorschlag kommen (gern auch mehrere Vorschläge). Gibt es da eine Möglichkeit? (Oder wenigstens ein Ansatzpunkt nachdem ich Suchen kann :)).

LG Major

Luckie 16. Jan 2009 08:13

Re: Suche ähnlich wie Google
 
Das dürfte nicht trivial sein und ich könnte mir vorstellen, dass Google das Geheimnis, wie das funktioniert, nicht so einfach preisgeben wird; letztendlich ist es ja ein essentielles Feature von Google.

Fussball-Robby 16. Jan 2009 08:15

Re: Suche ähnlich wie Google
 
Eventuell hilft dir diese Unit. Ich bin leider nie dazu gekommen, sie zu testen..

Andreas L. 16. Jan 2009 08:16

Re: Suche ähnlich wie Google
 
Da wirst du wohl selber eine Liste mit den falsch geschriebenen Wörtern und den korrekten Entsprechungen erstellen müssen. Eine andere Möglichkeit wäre vllt. häufige Buchstabendreher zu ersetzen.

EDIT: Evtl. eines der freien Rechtschreibwörter-Bücher auf die Phrase anwenden.

Nersgatt 16. Jan 2009 08:20

Re: Suche ähnlich wie Google
 
Wird wohl eine Form/Erweiterung der Phonetischen Suche sein.
So wird bei der Suche nach Mayer auch der Meier gefunden.

Andreas L. 16. Jan 2009 08:27

Re: Suche ähnlich wie Google
 
Vielleicht kannst du das hier nach Delphi übersetzen:

http://de3.php.net/manual/de/function.soundex.php#84881

nahpets 16. Jan 2009 08:31

Re: Suche ähnlich wie Google
 
Hallo,

such' mal nach SoundEx, Kölner Phonetik und Levenshteindistanz.
SoundEx müsste bei Delphi schon dabei sein (StrUtils.pas), ist für Deine Vorstellung aber nur sehr bedingt geeignet.
Die Kölner Phonetik bringt für meine Begriffe gute Suchergebnisse, wenn es z. B. um die Prüfung von Adressbeständen auf identische Sätze bei unterschiedlicher Schreibweise geht. Aber auch für Volltextsuchen kann man sie verwenden, wenn man die Texte vorher entsprechend aufbereitet.

Für Dein Beispiel würde sich folgende Vorgehensweise eignen:

In der Stringliste speicherst Du keine Texte, sondern die entsprechenden Representationen der Kölner Phonetik. Die Suchbegriffe wandelst Du vor der eigentliche Suche entsprechend um und suchst dann mit Stringliste.IndexOf.

Die Beschreibung der Kölner Phonetik bei Wikipedia ist gut genug, um innerhalb von vielleicht mal 'ner Stunde, eine entsprechende Funktion zu schreiben. 'ne Forschleife und ein Case sollten da schon fast ausreichen.

QuickAndDirty 16. Jan 2009 08:39

Re: Suche ähnlich wie Google
 
So weit ich weiß kann Delphi das schon. Phonetische suche/vergleich meine ich.

alles in der Unit StrUtils

Andreas L. 16. Jan 2009 08:42

Re: Suche ähnlich wie Google
 
Zitat:

Zitat von QuickAndDirty
So weit ich weiß kann Delphi das schon. Phonetische suche/vergleich meine ich.

alles in der Unit StrUtils

Jo:

Zitat:

StrUtils Unit
___________________
Routinen
....
DecodeSoundexInt
DecodeSoundexWord
...
Soundex
SoundexCompare
SoundexInt
SoundexProc
SoundexSimilar
SoundexWord

QuickAndDirty 16. Jan 2009 08:49

Re: Suche ähnlich wie Google
 
Sollte doch brauchbar sein. Oder gilt das nur fürs Englische?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz