é possivel uma busca tipo dos buscadores em sql?
Boa tarde a todos!
tenho um banco de dados que armazena perguntas de um site de vendas online.
quando eu vou responder a pergunta, eu preciso que o sistema pesquise no banco perguntas similares e mostre na tela.
Mais eu nao to conseguindo, ele sempre me volta perguntas que nao tem nada a ver.
Por exemplo :
eu tenho a seguinte pergunta: "Ola, qual é o valor do envio para minha cidade?"
eu faço assim: eu quebro a string da pergunta pelos espaços, e mando para o sql usando o like,ficando assim:
SELECT *
FROM PERGUNTAS
WHERE TEXTODAPERGUNTA
LIKE '%OLA%' OR TEXTODAPERGUNTA LIKE '%QUAL%' OR TEXTODAPERGUNTA LIKE '%VALOR%' OR TEXTODAPERGUNTA LIKE '%ENVIO%' ......
só que ai ele ira me trazer todas as perguntas que tem as palavras "ola" , "qual" etc ou seja, ira vir resultados que nao tem nada a ver com a pergunta.
ou seja, resumindo tudo, eu preciso de um select, que traga os resultados, os resultados mais parecidos com a pergunta original primeiro, ai depois ele te que "combinar" palavras, ou seja usando 2 ou mais palavras como chave, ai por ultimo é que veria essa consulta ai de cima. claro tirando os resultados repetidos
resumindo o resumo. eu quero fazer uma consulta SQL tipo a consulta dos sites de buscadores.
talvez eu consiga usado o UNION, o problema é que, se uma pergunta tiver 12 palavras chave, eu teria que =, para combinar essas 12 chaves, fazer 12x12 selects, o que daria 144 selects, ou seja, ficaria inviável.
Gostaria de saber se alguem tem alguma ideia de como fazer isso.
Espero que tenham entendido a minha dúvida.
Grato.
Discussão (4)
Carregando comentários...