La recherche de texte complet MySQL fonctionne-t-elle raisonnablement avec des langues non latines? (Hébreu, arabe, japonais ...) p>
Ajout: Certains tests ont-ils eu des problèmes d'hébreu. Exemple: le nom מו ס b> יזזון i> est prononcé la même chose que מו ש b> יזזון i> 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. p>
5 Réponses :
Tant que votre Collation est défini correctement, ça marche splendidement. P>
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 code> sera reconnue comme
å code>). P>
Assurez-vous que les mots des textes que vous allez indiquer sont séparés avec des séparateurs En outre, vous aurez probablement besoin de corriger dans Toutes les lettres de cette séquence: Le pire d'entre eux est Cyrillic japonais code> et
chinois code> Utilisez leurs propres symboles de blanchissage que
mysql code> ne comprend pas. P>
ASCII code> (espaces, virgules, etc.). Quelque chose en dehors de la plage code> ASCII code> ne fonctionnera probablement pas. P>
ft_min_word_len code>: par défaut,
mySQL code> ne doit pas indexer les mots plus courts que
4 code>. la plupart des
japonais code> et
chinois code> mots. p>
Cyrillic code> langues Les erreurs de transiloration sont assez courantes. p>
авекмнорстух / abekmhopctyx code> sont indiscernables dans la plupart des polices. P>
с code> / latin
C code>: 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. P>
mysql code> ne l'attrapera pas non plus. p>
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. p>
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. P>
La façon habituelle de mettre en œuvre cela utilise N-grammes
oui strong> MySQL FullText Search fonctionne bien pour arabe fort>. Assurez-vous simplement de ce qui suit si nécessaire: P>
Collation = utf8_unicode_ci code> strong> &
jeu de caractères = utf8 code> strong>. (Bases de données, tables et colonnes). LI>
ft_min_word_len = 3 code> (voir
Afficher les variables comme "FT _%"; Li>) Li>
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.