10
votes

La recherche de MySQL Texte complet fonctionne-t-elle raisonnablement avec des langues non latines (hébreu, arabe, japonais ...)

La recherche de texte complet MySQL fonctionne-t-elle raisonnablement avec des langues non latines? (Hébreu, arabe, japonais ...)

Ajout: Certains tests ont-ils eu des problèmes d'hébreu. Exemple: le nom מו ס יזזון est prononcé la même chose que מו ש יזזון mais la recherche d'une personne ne trouvera pas L'autre, car il s'agit d'une erreur d'orthographe courante en hébreu, il semble que je devrai faire de la manipulation de données pour qu'il fonctionne parfaitement.


2 commentaires

Oui, ça ne va pas attraper la sémantique hébraïque. S'il était prêt à une assiette hébraïque, je suppose que c'est que ce serait.


Il n'y a pas de classement hébraïque pour UTF8. Je suppose que nous le faisons de la dure.


5 Réponses :


2
votes

Tant que votre Collation est défini correctement, ça marche splendidement.

Unicode fonctionnera pour la plupart de cela, bien sûr. Mais cela ne traduit pas vraiment les caractères latins très bien (par exemple, dans une collation néerlandaise aa sera reconnue comme å ).


0 commentaires

1
votes

Oui, cependant, Découvrez ce que STOPWORS sont.


0 commentaires

1
votes

japonais et chinois Utilisez leurs propres symboles de blanchissage que mysql ne comprend pas.

Assurez-vous que les mots des textes que vous allez indiquer sont séparés avec des séparateurs ASCII (espaces, virgules, etc.). Quelque chose en dehors de la plage ASCII ne fonctionnera probablement pas.

En outre, vous aurez probablement besoin de corriger ft_min_word_len : par défaut, mySQL ne doit pas indexer les mots plus courts que 4 . la plupart des japonais et chinois mots.

dans Cyrillic langues Les erreurs de transiloration sont assez courantes.

Toutes les lettres de cette séquence: авекмнорстух / abekmhopctyx sont indiscernables dans la plupart des polices.

Le pire d'entre eux est Cyrillic с / latin C : ces deux symboles sont situés sur une touche du clavier et ne diffèrent pas du tout dans la plupart des polices, mais ils ont des codes différents.

mysql ne l'attrapera pas non plus.


0 commentaires

3
votes

Bien que la prise en charge hébraïque dans MySQL soit limitée, votre problème est plus un problème de personnes utilisant une orthographe incorrecte, puis un dysfonctionnement du serveur MySQL dans cette perspective. Lorsque vous manquez un mot dans Google, il vous montrera une suggestion et vous pouvez cliquer sur cette suggestion pour rechercher ce terme.

Peut-être que vous pourriez créer un programme qui a le même comportement, par ex. Vous pouvez créer une table contenant 2 champs, l'un contenant le mot couramment mal orthographié et l'autre contenant l'orthographe correcte. Vous pouvez ensuite créer un programme qui trouve le mot mal orthographié et affiche la suggestion.


1 commentaires

La façon habituelle de mettre en œuvre cela utilise N-grammes



1
votes

oui MySQL FullText Search fonctionne bien pour arabe . Assurez-vous simplement de ce qui suit si nécessaire:

  1. Collation = utf8_unicode_ci & jeu de caractères = utf8 . (Bases de données, tables et colonnes).
  2. mots index de 3 lettres et plus . C'est très important pour arabe, ft_min_word_len = 3 (voir Afficher les variables comme "FT _%"; )
  3. Vérifiez la version de MySQL (5.5 ou 5.6) et Moteur (Innodb ou Myisam)

0 commentaires