entchucs 0 Denunciar post Postado Abril 29, 2009 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
entchucs 0 Denunciar post Postado Abril 30, 2009 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