Confirmation que la localisation de votre site est en japonais ou que search tokenize chinese japanese korean est activé
Oui, j’ai confirmé que les deux paramètres sont correctement configurés.
Une chose incroyable s’est produite. Après avoir modifié la « longueur minimale du terme de recherche » de la valeur par défaut de 2 à 1, nous pouvons maintenant rechercher des katakana. Je ne sais pas pourquoi, mais ce paramètre est-il pertinent ?
Je peux reproduire ce problème, qui est principalement dû à une combinaison de
et
Le terme テスト est converti en テ ス ト après avoir passé par CppjiebaRb, ce qui déclenche le protecteur min_search_length que nous avons mis en place.
@sam C’est délicat à corriger car nous avons besoin d’un véritable tokenizeur pour le japonais pour résoudre définitivement des problèmes de recherche comme celui-ci. Nous pouvons apporter des ajustements ici et là, mais cela ressemblera à un jeu de marteau-piqueur.
Je ne pense pas qu’il existe un segmenteur japonais approprié que nous puissions utiliser.
Je pense que la meilleure chose à faire ici est simplement de réduire ces valeurs par défaut à 1.
Autrement, nous empêchons les gens de rechercher « maison » en japonais, ce qui semble raisonnable (家) … alors que nous autorisons les recherches de « maison » en anglais.
Je n’utilise plus Ruby de nos jours et j’ignore les exigences de Discourse, mais il semble y avoir une gem pour “mecab”.
Je suis arrivé à ce sujet parce que j’ai constaté que la recherche de certains mots ne fonctionne pas sur mon instance publique hébergée. J’ai :
longueur minimale du terme de recherche : 1
tokenisation de recherche chinois japonais coréen : activée
locale par défaut : japonais
Si ma mémoire est bonne, j’ai initialisé le site avec la locale anglaise et l’ai changée en japonais plus tard.
Les mots dont la recherche a échoué sont “北側”, “真上”, “一般”. Ces mots se trouvent dans ce sujet. De nombreux mots fonctionnent, mais ceux-ci non. Je ne vois aucun schéma quant au fonctionnement ou non d’un mot.
Existe-t-il un moyen de vérifier l’index de recherche généré sur l’instance hébergée ? Je peux lire le Ruby et le japonais, donc s’il existe un moyen de voir comment Discourse génère l’index de recherche pour le CJK, je pourrais peut-être aider.
CppjiebaRb, ou cppjieba, mentionné par @tgxworld semble être pour le chinois. Est-il utilisé pour la locale japonaise ?
Mecab n’est malheureusement pas une option, il est sous licence GPL et nous préférons n’accepter que les licences MIT et BSD pour les dépendances.
Nous avons une PR qui ajoutera TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア qui a une licence compatible. Pouvez-vous tester la segmentation et nous faire savoir comment elle fonctionne, il y a un formulaire sur le site web que vous pouvez utiliser pour tester.