Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Affinität zwischen einem Text und einer Liste von Schlüsselwörtern?

Wenn die Schlüsselwörter immer gleich bleiben, könnten Sie einen Index darüber erstellen, der die Suchgeschwindigkeit (enorm) verbessert. Die Standarddatenstruktur dafür ist trie aber eine viel bessere (!) Alternative ist der Aho-Corasick-Automat oder ein anderer Multi-Pattern-Suchalgorithmus wie Multi-Pattern Horspool (auch bekannt als Wu-Manber-Algorithmus).

Schließlich besteht eine sehr einfache Alternative darin, alle Ihre Schlüsselwörter mit senkrechten Strichen zu verketten (| ) und verwenden Sie das Ergebnis als regulären Ausdruck. Technisch nähert sich dies dem Aho-Corasick-Automaten und ist für Sie viel einfacher zu implementieren.