HL
Buscar por nomes similares ou com erro de digitação
Boa noite!
Sei que o fórum é destinado para questões relacionadas ao Adianti, porém estou utilizando o framework em um projeto e estou com problema referente ao MySql.
Utilizo a consulta abaixo para buscar informações de um tabela:
Porém preciso que se o nome picante for escrito de forma errada, ainda consiga retorna as informações, como no caso "PICATE", já tentei utilizar outros MODE de busca como IN NATURAL LANGUAGE MODE entre outros, também já pesquisei e não achei nada para solucionar essa questão.
Desde já, obrigado.
Sei que o fórum é destinado para questões relacionadas ao Adianti, porém estou utilizando o framework em um projeto e estou com problema referente ao MySql.
Utilizo a consulta abaixo para buscar informações de um tabela:
SELECT *
FROM tabela
WHERE MATCH (campo) AGAINST ('Picant*Defumad*' IN BOOLEAN MODE);
Resultado:
50881 LOMBO DEFUMADO PICANTE
50882 CAFÉ PICANTE
53030 SNACK CURCUMA E PAPPRICA DEFUMADA
Porém preciso que se o nome picante for escrito de forma errada, ainda consiga retorna as informações, como no caso "PICATE", já tentei utilizar outros MODE de busca como IN NATURAL LANGUAGE MODE entre outros, também já pesquisei e não achei nada para solucionar essa questão.
Desde já, obrigado.
Saudações Helton,
Em uma pesquisa rápida achei artigo para o banco postgresql
https://www.freecodecamp.org/news/fuzzy-string-matching-with-postgresql/
Obrigado Jorge, porém o post se refere ao postgresql e estou utilizando MySql, onde não tenho a função SIMILARITY disponível.
Preciso dessa consulta seja realizada via BD, pois não posso utilizar o PHP para realizar os filtro. É uma consulta que será utilizada constantemente e que na tabela pode conter mais de 1 milhão de registro.
Dessa forma ira ter um consumo topado de memória para alocar tudo na memória e tratar.