Questa guida spiega come regolare le impostazioni di Discourse per supportare meglio le lingue CJK (cinese, giapponese e coreano) nella ricerca del sito.
Livello utente richiesto: Amministratore
Le impostazioni predefinite di Discourse potrebbero non essere ottimali per le lingue CJK (cinese, giapponese, coreano). Tuttavia, Discourse regola ora automaticamente molte di queste impostazioni quando la lingua del sito è impostata su una lingua CJK (giapponese, cinese semplificato o cinese tradizionale). Questa guida spiega cosa viene configurato automaticamente e cosa potrebbe essere ancora necessario regolare manualmente.
Impostazioni predefinite automatiche per lingua
Quando l’impostazione predefinita della lingua del sito è impostata su ja, zh_CN o zh_TW, le seguenti impostazioni vengono regolate automaticamente:
| Impostazione | Predefinita | Impostazione predefinita per lingua CJK |
|---|---|---|
min_search_term_length |
3 | 1 (si applica anche a 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 (solo ja) |
title_prettify |
true | false |
Se il tuo sito utilizza una di queste lingue, generalmente non è necessario modificare queste impostazioni: saranno già ottimizzate per il CJK.
Regolazioni manuali
Lingua coreana
La lingua coreana (ko) riceve un’impostazione predefinita automatica solo per min_search_term_length. Se il tuo sito utilizza la lingua coreana, dovresti regolare manualmente le altre impostazioni elencate sopra su valori simili.
Siti con lingua predefinita non CJK o multilingue con contenuti CJK
Se la lingua predefinita del tuo sito non è una lingua CJK ma hai utenti che parlano CJK in modo significativo, dovrai regolare manualmente queste impostazioni:
- Imposta
min_search_term_lengtha 1 o 2: le parole chiave CJK possono essere lunghe solo uno o due caratteri - Imposta
min_post_lengtha circa 8 - Imposta
body_min_entropya circa 3: la duplicazione è comune e significativa nelle lingue CJK, quindi impostarla troppo alta potrebbe causare errori di “post non significativo” - Imposta
min_topic_title_lengtha circa 6 - Imposta
title_min_entropya circa 3 - Imposta
min_title_similar_lengtha circa 4 - Abilita
allow_uppercase_posts: Discourse potrebbe non riconoscere i caratteri CJK durante l’analisi dei titoli degli argomenti per le maiuscole, causando errori - Disabilita
title_prettify: le regole di abbellimento dei titoli sono progettate per gli script latini e potrebbero non funzionare bene con il testo CJK
Tokenizzazione della ricerca
Per una maggiore accuratezza della ricerca, Discourse offre impostazioni di tokenizzazione opzionali specifiche per CJK:
search_tokenize_chinese: abilita la segmentazione del testo cinese per migliori risultati di ricercasearch_tokenize_japanese: abilita la segmentazione del testo giapponese per migliori risultati di ricerca
Queste sono disabilitate per impostazione predefinita e possono essere abilitate nelle impostazioni di ricerca dell’amministratore.
Risoluzione dei problemi di ricerca
Se riscontri problemi con la funzionalitĂ di ricerca dopo aver apportato queste modifiche, potrebbe essere necessario reindicizzare il database. Ecco come farlo:
- Accedi alla directory di installazione di Discourse Docker.
- Esegui il seguente comando per accedere al container dell’applicazione:
./launcher enter app - Una volta all’interno del container, esegui il comando di reindicizzazione:
rake search:reindex
Dopo la reindicizzazione, dovresti essere in grado di cercare i contenuti in modo efficace.