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

Full-Text MySQL


marvi

Pergunta

Olá pessoal,

Me disseram que tal do Full-Text faz com que o MySQL realize busca igual do google, considerando todas as plavras e tal... no site da pessoa.

Alguém poderia me dar um exemplo ou explicar como fazer o meu busca ficar igual ao google, tipo Full-Text?

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Sei, mas...

Não entendi, porque se tem seguinte sql

SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);

Mas como ficaria minha variavel? Pois recebe-se o valor do busca assim:

varbusca=request("busca")

Faria assim:

SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('varbusca' IN BOOLEAN MODE);

Isso?

Editado por marvi
Link para o comentário
Compartilhar em outros sites

  • 0
Sei, mas...

Não entendi, porque se tem seguinte sql

SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);

Mas como ficaria minha variavel? Pois recebe-se o valor do busca assim:

varbusca=request("busca")

Faria assim:

SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('varbusca' IN BOOLEAN MODE);

Isso?

Como fica sua variável dependerá de sua linguagem de programação, mas o princípio é este mesmo.

neste caso é melhor montar a SQL na linha de código do programa e o valor da variável será traduzido por concatenção para a criação da SQL.

Eu uso delphi e o código fica assim:

SQL.Add('WHERE MATCH (NOME) AGAINST (:pPesquisa IN BOOLEAN MODE)');

Onde :pPesquisa é o parâmetro

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, se faço isso:

varbusca=request("busca")

SQL = "SELECT * FROM articles WHERE MATCH (title, body) AGAINST ('varbusca' IN BOOLEAN MODE)"

set rsbusca = db.execute(SQL)

Assim que ficará a variável no SQL isso? Naquela posição em negrito

há, ele disse:

[MySQL][ODBC 5.1 Driver][mysqld-5.1.30-percona-log]The used table type doesn't support FULLTEXT indexes

COmo faço para ter suporte fulltext?

Eu uso hospedagem locaweb

Editado por marvi
Link para o comentário
Compartilhar em outros sites

  • 0
Certo, resolvi colocando minha tabela em MyISAM e rodou.

O problema é que se digito Marcelo Vinicius, sem aspas, aparece monte de coisa, ele só funciona se eu digiar "Marcelo Vinicuis" para aparecer as materias que tem a ver, como resolver isso?

Você pode suprimir a expressão IN BOOLEAN MODE, mas o tempo de resposta vai aumentar.

Quanto a aparecimento de outros atributos(campos), terá a haver com sua lógica, tanto na colocção dos atributos como cláusula de exibição do select como condição da cláusula where.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...