Francisco Caserio Postado Agosto 27, 2009 Denunciar Share Postado Agosto 27, 2009 A palavra "criança" esta registrada no campo indexado em varios registros da minha tabelaOs comandos abaixo retornam estes registros:field LIKE _utf8'%crianca%'COLLATE utf8_unicode_ciMATCH(field) AGAINST (_utf8'criança'COLLATE utf8_unicode_ci IN BOOLEAN MODE)Mas quando eu uso match com a palavra sem o acento a busca não traz nenhum resultadoMATCH(field) AGAINST (_utf8'crianca'COLLATE utf8_unicode_ci IN BOOLEAN MODE)MySQL suporta busca accent insensitive?Agradeco a ajuda Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Agosto 28, 2009 Denunciar Share Postado Agosto 28, 2009 Oi, 'Francisco Caserio'Criei dois registros em uma tabela de testes. um com 'crianca' e outro com 'criança'. Executei conforme abaixo e, nos dois casos, me trouxe os dois registrosMATCH(<campo>) AGAINST ('crianca' IN BOOLEAN MODE) MATCH(<campo>) AGAINST ('criança' IN BOOLEAN MODE) Link para o comentário Compartilhar em outros sites More sharing options...
0 Francisco Caserio Postado Agosto 28, 2009 Autor Denunciar Share Postado Agosto 28, 2009 Oi DenisPara mim não esta funcionando da mesma forma:SELECT * FROM fotoarquivo WHERE MATCH(palavrachave, fulltext_palavrachave) AGAINST ('criança' IN BOOLEAN MODE) Showing rows 0 - 29 (7,417 total, Query took 0.0016 sec) SELECT * FROM fotoarquivo WHERE MATCH(palavrachave, fulltext_palavrachave) AGAINST ('crianca' IN BOOLEAN MODE) MySQL returned an empty result set (i.e. zero rows). (Query took 0.0006 sec) SELECT * FROM fotoarquivo WHERE MATCH(palavrachave, fulltext_palavrachave) AGAINST (_utf8'crianca'COLLATE utf8_general_ci IN BOOLEAN MODE)MySQL returned an empty result set (i.e. zero rows). (Query took 0.0008 sec)O que eu posso estar fazendo de errado?Qual collation voce esta usando na sua coluna?O indice deve ser criado com alguma configuracao especial? Meu script de criacao do indice foi:CREATE FULLTEXT INDEX ix_fulltext_pchave ON fotoarquivo(palavrachave, fulltext_palavrachave); Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Agosto 28, 2009 Denunciar Share Postado Agosto 28, 2009 Francisco, O collation que uso é o default latin1_swedish_ciO script é o quase o mesmo. Só usei um campo em vez de dois.Não vejo erro no modo como você está fazendo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Francisco Caserio Postado Agosto 28, 2009 Autor Denunciar Share Postado Agosto 28, 2009 Estou usando latin1_general_ci.Pode ser que haja alguma restricao com este collation?A situacao é um pouco bizarra. já estou me conformando em criar uma nova coluna removendo os acentos. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Francisco Caserio
A palavra "criança" esta registrada no campo indexado em varios registros da minha tabela
Os comandos abaixo retornam estes registros:
field LIKE _utf8'%crianca%'COLLATE utf8_unicode_ci
MATCH(field) AGAINST (_utf8'criança'COLLATE utf8_unicode_ci IN BOOLEAN MODE)
Mas quando eu uso match com a palavra sem o acento a busca não traz nenhum resultado
MATCH(field) AGAINST (_utf8'crianca'COLLATE utf8_unicode_ci IN BOOLEAN MODE)
MySQL suporta busca accent insensitive?
Agradeco a ajuda
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados