Ir para conteúdo
Fórum Script Brasil
  • 0

MySQL suporta busca accent insensitive?


Francisco Caserio

Pergunta

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

  • 0

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 registros

MATCH(<campo>) AGAINST ('crianca' IN BOOLEAN MODE)
MATCH(<campo>) AGAINST ('criança' IN BOOLEAN MODE)

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Denis

Para 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

  • 0

Francisco,

O collation que uso é o default latin1_swedish_ci

O 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

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...