MySQL FULL TEXT SEARCH - Buscar 12.000 com 12000
26/12/2016
0
Estou passando por um problema sério aqui. Tenho uma tabela com mais de 100.000 produtos e preciso listar todos os produtos contendo a descrição SPLIT 12.000 BTUS, mas o usuário sempre digita SPLIT 12000 BTUS. Isso faz com que o sistema não retorne informação alguma.
Na busca estou usando FULL TEXT SEARCH do mysql gerando uma consulta como a mostrada abaixo:
select produto.descricao from produtos where MATCH(produto.descricao) AGINST ('+SPLIT +12000 + BTUS' in boolean mode) order by descricao
Essa consulta não retorna nada, mesmo tendo vários SPLIT 12.000 BTUS no banco de dados. Alguém já passou por isso? Tem como resolver esse proble?
Eduardo Monteiro
Post mais votado
27/12/2016
Boa sorte.
Abraço.
Alan Mario
Mais Posts
26/12/2016
Alan Mario
https://pt.blog.marceloaltmann.com/en-using-the-mysql-fulltext-index-search-pt-utilizando-mysql-fulltext/
26/12/2016
Eduardo Monteiro
Obrigado pelo link, mas continuo com o mesmo problema. Estou começando a tentar solucionar o problema com um pouco de programação. Pegando o que o usuário digitou, tratando e gerando os filtros para dentro do AGAINST.
Se alguém tiver uma idéia mais simples ficarei muito agradecido.
27/12/2016
Eduardo Monteiro
28/12/2016
Eduardo Monteiro
Ainda estou curioso para saber se é possível resolver esse problema com MySQL, mas como os prazos são curtos, acabei resolvendo esse problema criando um servidor de buscas com Elastic Search. Ele possui um critério de busca chamado "fuzziness" que resolveu meu problema.
Obrigado à todos pela força.
29/12/2016
Eduardo Monteiro
Clique aqui para fazer login e interagir na Comunidade :)