Ich habe große Schwierigkeiten, einen Algorithmus zum Abgleich von Zeichenketten zu finden, der meinen Anforderungen entspricht.
Ich habe eine sehr große Datenbank mit Zeichenfolgen in ungekürzter Form, die mit einer beliebigen Abkürzung abgeglichen werden müssen. Eine Zeichenkette, die eine echte Teilzeichenkette ohne Buchstaben zwischen den Zeichen ist, sollte ebenfalls übereinstimmen, und zwar mit einer höheren Punktzahl.
Beispiel: Wenn das zu übereinstimmende Wort "download" wäre und ich nach "down", "ownl" und dann "dl" suche, würde ich die höchste Trefferquote für "down" erhalten, gefolgt von "ownl" und dann "dl".
Der Algorithmus müsste für Geschwindigkeit und eine große Anzahl zu durchsuchender Zeichenfolgen optimiert werden und sollte es mir ermöglichen, eine Liste übereinstimmender Elementzeichenfolgen zu erstellen (wenn ich sowohl "download" als auch "upload" zur Datenbank hinzugefügt habe, sollte die Suche nach "load" beide zurückgeben). Der Speicherplatz ist immer noch wichtig, aber nicht so wichtig wie die Geschwindigkeit.
Irgendwelche Ideen? Ich habe einige dieser Algorithmen recherchiert, aber ich habe keinen gefunden, der sich auch nur mit Abkürzungen befasst, geschweige denn mit all diesen Bedingungen!