Sistema de Busca para muitos resultados
Olá pessoal.
Postei esse tópico em MySQL mas ta tendo muita leitura e nenhuma resposta e é algo que tenho uma certa urgência, então como aqui deve haver algumas pessoas que já passaram pelo que estou passando pode ser que resolva.
Estou com uma dúvida em relação a melhor forma de se fazer uma consulta para um sistema de busca em MySQL.
Queria fazer algo que funcionasse como o Like buscando palavras entre os termos (%palavra%), mas que não seja o Like pois ele é muito lento para consultas muito volumosas e este sistema tende a ser muito volumoso
Andei pesquisando e vi esta técnica de utilizar uma tabela de termos e buscando com id's e indices.
http://www.devmedia.com.br/post-11807-Full-text-search-otimizada-em-SQL-usando-GROUP-BY.html
Estou desenvolvendo um sistema de assessoria política em que a idéia é encontrar facilmente os eleitores na base de dados.
Preciso buscar resultados com campos de: Nome do Eleitor, Cidade, Bairro, Descrição do Usuário, E-mail entre outros.
Isso para mim até é válido em um campo descritivo (TEXT), porque posso simular tags no texto para encontrar usuários que tenham a mesma descrição que estou buscando (ex.: moreno, alto, futebol) porém tem todos estes outros campos que gostaria de fazer esse tipo de consulta mas acredito não ser a melhor opção criar diversas tabelas de termos até porque a tendência é que o banco ficasse enorme com muito mais facilidade.
Alguém conhece alguma forma de fazer uma busca otimizada sem dar voltas com outras tabelas?
Vi algo sobre utilizar o MATCH mas não sei se é realmente vantajoso.
Minha tabela é Innodb, não me interessa utilizar MyiSAM para utilizar o FULL TEXT SEARCH
Justamente pelo lock no Innodb que é por registro e do MyiSAM que é por tabela.
Quem poder dar uma luz agradeço
Discussão (5)
Carregando comentários...