Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Afinidade entre um texto e uma lista de palavras-chave?


Se as palavras-chave permanecerem sempre as mesmas, você poderá criar um índice sobre elas, o que melhora a velocidade de pesquisa (tremendamente). A estrutura de dados padrão para lidar com isso é a trie mas uma alternativa muito melhor (!) é o Aho-Corasick autômato ou outro algoritmo de pesquisa de vários padrões, como Horspool de vários padrões (também conhecido como algoritmo Wu-Manber).

Finalmente, uma alternativa muito simples é concatenar todas as suas palavras-chave com pipes (| ) e use o resultado como uma expressão regular. Tecnicamente, isso se aproxima do autômato Aho-Corasick e é muito mais simples de implementar.