Ir para conteúdo
Fórum Script Brasil
  • 0

Procurar palavras em uma string


Levi_gns

Pergunta

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

  • 0

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

  • 0

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

  • 0
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

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...