Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

entchucs

Busca

Recommended Posts

Boa noite!

Estou efetuando uma busca utilizando match against que está com um pequeno bug:

 

Faço a busca por dois campos: titulo e texto. O campo título está ok porém o campo texto possui dados em formato HTML, ou seja, quando busco palavras com acento ele somente me retorna se a palavra está no título pois no texto o acento está codificado (EX.: Itália)

 

SELECT id, titulo, texto, MATCH (titulo, texto) AGAINST ('".$Q."' IN BOOLEAN MODE) AS pontuacao FROM historia WHERE MATCH (titulo, texto) AGAINST ('".$Q."' IN BOOLEAN MODE) ORDER BY pontuacao ASC

Existe alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bah, fiz uma gambiarra que ajudou um pouco mas criou outro problema:

 

SELECT id, titulo, texto, MATCH (titulo) AGAINST ('".$Q."' IN BOOLEAN MODE) AS pontuacao1, MATCH (texto) AGAINST ('".htmlentities($Q)."' IN BOOLEAN MODE) AS pontuacao2 FROM historia WHERE MATCH (titulo) AGAINST ('".$Q."' IN BOOLEAN MODE) OR MATCH (texto) AGAINST ('".htmlentities($Q)."' IN BOOLEAN MODE) ORDER BY pontuacao1 DESC pontuacao 2 DESC

O problema agora é que algumas palavras acentuadas me retornam resultados mesmo não tendo resultados. Por exemplo: Se digito chá ele me retorna diversos resultados mesmo não tendo a palavra em nenhum dos dois campos.

 

Idéias? Sugestões?

 

Grato,

MB

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.