sql >> Base de Datos >  >> RDS >> Mysql

¿Afinidad entre un texto y una lista de palabras clave?

Si las palabras clave siempre son las mismas, podría crear un índice sobre ellas que mejora la velocidad de búsqueda (tremendamente). La estructura de datos estándar para manejar esto es trie pero una alternativa mucho mejor (!) es el autómata Aho-Corasick u otro algoritmo de búsqueda multipatrón como Horspool multipatrón (también conocido como algoritmo Wu-Manber).

Finalmente, una alternativa muy simple es concatenar todas sus palabras clave con tuberías (| ) y use el resultado como una expresión regular. Técnicamente, esto se acerca al autómata Aho-Corasick y es mucho más sencillo de implementar.