sql >> Database >  >> RDS >> Mysql

Affiniteit tussen een tekst en een lijst met zoekwoorden?

Als de trefwoorden altijd hetzelfde blijven, kunt u er een index over maken die de zoeksnelheid (enorm) verbetert. De standaard datastructuur om hiermee om te gaan is de trie maar een veel beter (!) alternatief is de Aho-Corasick automaat of een ander zoekalgoritme met meerdere patronen, zoals Horspool met meerdere patronen (ook bekend als Wu-Manber-algoritme).

Ten slotte is een heel eenvoudig alternatief om al uw zoekwoorden samen te voegen met buizen (| ) en gebruik het resultaat als een reguliere expressie. Technisch gezien benadert dit de Aho-Corasick-automaat en is het veel eenvoudiger voor u om te implementeren.



  1. Hoe rijen in een MySQL-resultatenset te beperken

  2. Kopieer waarden van de ene kolom naar de andere in dezelfde tabel

  3. Hoe u een rijnummer kunt krijgen in PostgreSQL

  4. hoe tel je rijen met de eerste letter?