Jump to content


Photo

Busca + Palavra De Parada


  • Faça o login para participar
1 reply to this topic

#1 Ramon Gonçalves

Ramon Gonçalves

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Masculino
  • Localidade:Lavras - MG

Posted 29/04/2009, 11:17

Olá pessoal!

Estou fazendo uma busca, utilizando as funções de MATCH e AGAINST(), ex.:
SELECT titulo, corpo FROM noticias WHERE MATCH(titulo,corpo) AGAINST('Brasil' IN BOOLEAN MODE)

Porém li no manual do mysql que quando uma palavra aparece em mais de 50% das linhas, ele passa a considerar como uma palavra de parada (acho que é esse o termo mesmo), ou seja, passa a considerar essa palavra como "que", "onde", "quando", palavras que aparecem demais, e nisso ele não retorna nenhum resultado.

O problema é o seguinte, no site que estou desenvolvendo, no sistema de buscas por notícias, quando a pessoa procura café por exemplo, não está retornando nada. Creio que o problema seja por causa desse fato de que a palavra aparece em mais de 50% das linhas retornadas.

O problema pode ser de outra natureza? Se for esse mesmo o problema, como contorná-lo? ou é impossível?

qualquer coisa é fazer uma condição pra essa palavra, tirando dessa função MATCH(), mas eu queria usar esse tipo de busca para todas as consultas.


muito obrigado, desde já.

Obs.: Acontece apenas com 'café' e 'feijão'. Nas demais buscas, inclusive Brasil (que tem muitas ocorrências), retorna um resultado normalmente.

#2 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 20/05/2009, 19:07

Voce deve verificar a variavel de configuração ft_min_word_len por padrão o minimo de letras que uma palavra deve ter para ser buscada no full_text é de 4 letras. Se você utilizar palavras com menos de 4 letras, automaticamente ela é excluida da busca, como "até, foi, bha, né, vc", assim aumentando a performance do banco de dados.
Você pode mudar esta configuração diretamente no my.conf

Quanto a palavra "feijão" voce deve verificar algo relacionado a acentuação, pode ser ae que esteja o problema.
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq