Ce guide explique comment ajuster les paramètres de Discourse pour mieux prendre en charge les langues CJK (chinois, japonais et coréen) dans la recherche du site.
Niveau d’utilisateur requis : Administrateur
Les paramètres par défaut de Discourse peuvent ne pas être optimaux pour les langues CJK (chinois, japonais, coréen). Cependant, Discourse ajuste désormais automatiquement nombre de ces paramètres lorsque la locale de votre site est définie sur une langue CJK (japonais, chinois simplifié ou chinois traditionnel). Ce guide explique ce qui est configuré automatiquement et ce que vous pourriez encore avoir besoin d’ajuster manuellement.
Paramètres par défaut automatiques de la locale
Lorsque la locale par défaut de votre site est définie sur ja, zh_CN ou zh_TW, les paramètres suivants sont ajustés automatiquement :
| Paramètre | Défaut | Défaut pour locale CJK |
|---|---|---|
min_search_term_length |
3 | 1 (s’applique également à ko) |
min_post_length |
20 | 8 |
min_first_post_length |
20 | 8 |
min_personal_message_post_length |
10 | 3 |
body_min_entropy |
7 | 3 |
min_topic_title_length |
15 | 6 |
title_min_entropy |
10 | 3 |
min_title_similar_length |
10 | 4 |
allow_uppercase_posts |
false | true (ja uniquement) |
title_prettify |
true | false |
Si votre site utilise l’une de ces locales, vous n’avez généralement pas besoin de modifier ces paramètres — ils seront déjà optimisés pour le CJK.
Ajustements manuels
Locale coréenne
La locale coréenne (ko) ne reçoit qu’un ajustement automatique pour min_search_term_length. Si votre site utilise la locale coréenne, vous devriez ajuster manuellement les autres paramètres listés ci-dessus à des valeurs similaires.
Sites multilingues ou avec locale non-CJK contenant du contenu CJK
Si la locale par défaut de votre site n’est pas une langue CJK mais que vous avez un nombre important d’utilisateurs parlant CJK, vous devrez ajuster ces paramètres manuellement :
- Définissez
min_search_term_lengthsur 1 ou 2 — les mots-clés CJK peuvent être aussi courts qu’un ou deux caractères - Définissez
min_post_lengthà environ 8 - Définissez
body_min_entropyà environ 3 — la répétition est courante et significative dans les langues CJK, donc le définir trop haut pourrait entraîner des erreurs de « message non significatif » - Définissez
min_topic_title_lengthà environ 6 - Définissez
title_min_entropyà environ 3 - Définissez
min_title_similar_lengthà environ 4 - Activez
allow_uppercase_posts— Discourse pourrait ne pas reconnaître les caractères CJK lors de l’analyse des titres de sujets pour la casse, provoquant des erreurs - Désactivez
title_prettify— les règles d’embellissement des titres sont conçues pour les écritures latines et pourraient ne pas bien fonctionner avec le texte CJK
Tokenisation de la recherche
Pour améliorer la précision de la recherche, Discourse propose des paramètres de tokenisation spécifiques CJK en option :
search_tokenize_chinese— active la segmentation du texte chinois pour de meilleurs résultats de recherchesearch_tokenize_japanese— active la segmentation du texte japonais pour de meilleurs résultats de recherche
Ces options sont désactivées par défaut et peuvent être activées dans les paramètres de recherche de l’administrateur.
Dépannage des problèmes de recherche
Si vous rencontrez des problèmes avec la fonctionnalité de recherche après avoir effectué ces modifications, vous devrez peut-être réindexer votre base de données. Voici comment procéder :
- Entrez dans le répertoire d’installation Docker de Discourse.
- Exécutez la commande suivante pour accéder au conteneur de l’application :
./launcher enter app - Une fois à l’intérieur du conteneur, exécutez la commande de réindexation :
rake search:reindex
Après la réindexation, vous devriez être en mesure de rechercher du contenu efficacement.