Ottimizzazione della ricerca di Discourse per le lingue CJK

:bookmark: Questa guida spiega come regolare le impostazioni di Discourse per supportare meglio le lingue CJK (cinese, giapponese e coreano) nella ricerca del sito.

:person_raising_hand: 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_length a 1 o 2: le parole chiave CJK possono essere lunghe solo uno o due caratteri
  • Imposta min_post_length a circa 8
  • Imposta body_min_entropy a 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_length a circa 6
  • Imposta title_min_entropy a circa 3
  • Imposta min_title_similar_length a 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 ricerca
  • search_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:

  1. Accedi alla directory di installazione di Discourse Docker.
  2. Esegui il seguente comando per accedere al container dell’applicazione:
    ./launcher enter app
    
  3. 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.

8 Mi Piace