~TiuTalk~ 7 Denunciar post Postado Setembro 16, 2009 Fala gente, Estou tentando fazer uma busca aqui no meu site e tenho um indice FULLTEXT que uso para essa busca, a consulta gerada é essa: SELECT `Noticia`.`id`, `Noticia`.`titulo`, `Noticia`.`chamada`,`Noticia`.`restrita`, `Noticia`.`published`, `Categoria`.`nome`,`Categoria`.`slug` FROM `noticias` AS `Noticia` LEFT JOIN `usuarios` AS`Usuario` ON (`Noticia`.`usuario_id` = `Usuario`.`id`) LEFT JOIN`categorias` AS `Categoria` ON (`Noticia`.`categoria_id` =`Categoria`.`id`) LEFT JOIN `galerias` AS `Galeria` ON(`Noticia`.`galeria_id` = `Galeria`.`id`) LEFT JOIN `podcasts` AS`Podcast` ON (`Noticia`.`podcast_id` = `Podcast`.`id`) WHERE MATCH(`Noticia`.`titulo`, `Noticia`.`texto`, `Noticia`.`autor`) AGAINST('+spa' IN BOOLEAN MODE) AND `Noticia`.`ativa` = 1 AND`Noticia`.`published` <= NOW() ORDER BY MATCH (`Noticia`.`titulo`,`Noticia`.`texto`, `Noticia`.`autor`) AGAINST ('+spa') DESC,`Noticia`.`published` DESC LIMIT 20 Sei que parece enorme, acho que uma versão menor pode ser usada de exemplo: SELECT * FROM `noticias` AS `Noticia` WHERE MATCH(`Noticia`.`titulo`, `Noticia`.`texto`, `Noticia`.`autor`) AGAINST('+spa' IN BOOLEAN MODE) AND `Noticia`.`ativa` = 1 AND`Noticia`.`published` <= NOW() ORDER BY MATCH (`Noticia`.`titulo`,`Noticia`.`texto`, `Noticia`.`autor`) AGAINST ('+spa' IN BOOLEAN MODE) DESC,`Noticia`.`published` DESC LIMIT 20 Tenho um registro no banco de dados que o titulo é "Atriz de Caminhos da Índias, Rosane Gofman relaxa na Saison Spa", reparem o Spa no fim do titulo... O problema é que a busca não encontra esse registro! Alguém tem idéia do que possa ser? Já tentei 'spa', '+spa', '*spa*', '+spa*' e nada... Segue uma imagem com a estutura da tabela e os índices: Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 21, 2009 Não é devido que esta gravado com Spa e você está procurando span? segundo 'manuel' do mysql essa busca seria case sensitive... Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Setembro 21, 2009 Não é devido que esta gravado com Spa e você está procurando span? segundo 'manuel' do mysql essa busca seria case sensitive... Certeza? Keep in mind that although MATCH() AGAINST() is case-insensitive, it also is basically **accent-insensitive**.Eu to procurando por "spa" não "span" :P Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 21, 2009 Erro de digitação, creio que você entendeu, só quiser dizer que seria Spa devido a ser case sensitive Compartilhar este post Link para o post Compartilhar em outros sites