Levi_gns Postado Outubro 31, 2009 Denunciar Share Postado Outubro 31, 2009 Boas...Estou desenvolvendo um site de publicação de anúncios e gostaria de saber como se faz para encontrar palavras no texto que o usuário irá publicar.Vou explicar melhor:* tenho uma tabela "x" com dois campos ("codigo" e "palavras");1 - casa2 - carro3 - fdp...* o usuário escreve em seu anúncio a seguinte sentença:"Compro carro antigo", ou ainda,"Vou ao casamento da fulana"Pergunta: qual a sintaxe sql para identificar os anúncios cujas palavras estão na tabela "x"?Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 Bicicleta Postado Novembro 3, 2009 Denunciar Share Postado Novembro 3, 2009 Acho que o que você procura é o LIKEExemplo:SELECT * FROM TabelaX WHERE palavras LIKE '%Compro carro antigo%' Ou mais abrangente: SELECT * FROM TabelaX WHERE palavras LIKE '%Compro%carro%antigo%'Abraço. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 4, 2009 Denunciar Share Postado Novembro 4, 2009 Oi, Levi_gns!Procurar palavras usando o operador LIKE, tal como o 'Bicicleta' disse no post anterior, é válido se sua tabela for pequena, pois as pesquisas efetuadas por este operador frequentemente se tornam TABLE SCAN, principalmenete da forma como foi colocada acima. Table Scan é um processo de varredura completa registro a registro de toda a tabela que ignora qualquer tipo de índice, tomando tempo e processamento de forma exponencial ao crescimento da tabela.Um outro problema com este tipo de pesquisa é que ele está restrito a um único campo.A solução é usar índices fulltext (os mesmo usados pelo google para pesquisa).Veja o manual do MySQL sobre índices fulltext: 6.8. Pesquisa Full-text no MySQL Link para o comentário Compartilhar em outros sites More sharing options...
0 Bicicleta Postado Novembro 4, 2009 Denunciar Share Postado Novembro 4, 2009 Denis. Já tinha ouvido 'falar' em Full-Text, porém nunca tinha lido nada sobre o assunto, vi uma vez em um plugin para o Wordpress, mas por falta de tempo acabei não procurando nada, e depois acabei esquecendo, porém é um excelente recurso, e ainda mais para grandes tabelas tem um desempenho melhor como você disse. Já estou testando para ver os resultados...Muito obrigado por compartilhar :P Abração! Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 4, 2009 Denunciar Share Postado Novembro 4, 2009 Denis. Já tinha ouvido 'falar' em Full-Text, porém nunca tinha lido nada sobre o assunto, vi uma vez em um plugin para o Wordpress, mas por falta de tempo acabei não procurando nada, e depois acabei esquecendo, porém é um excelente recurso, e ainda mais para grandes tabelas tem um desempenho melhor como você disse. Já estou testando para ver os resultados...Muito obrigado por compartilhar :P Abração!Não precisa agradecer. Compartilhar faz parte do ofício. como digo em minha assinatura: "A troca do conhecimento é a unica forma de expandirmos o mesmo".Quando pesquisar não esqueça o seguinte:Procurar por: Carlos Alberto trará todos os Calos e todos os Albertos. Para buscar somente os Carlos Alberto use entre aspas (Assim: "Carlos Alberto"). Tal como no Google. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Levi_gns
Boas...
Estou desenvolvendo um site de publicação de anúncios e gostaria de saber como se faz para encontrar palavras no texto que o usuário irá publicar.
Vou explicar melhor:
* tenho uma tabela "x" com dois campos ("codigo" e "palavras");
1 - casa
2 - carro
3 - fdp...
* o usuário escreve em seu anúncio a seguinte sentença:
"Compro carro antigo", ou ainda,
"Vou ao casamento da fulana"
Pergunta: qual a sintaxe sql para identificar os anúncios cujas palavras estão na tabela "x"?
Obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados