Esta guía explica cómo ajustar la configuración de Discourse para que se adapte mejor a los idiomas chino, japonés y coreano (CJK) en la búsqueda del sitio.
Nivel de usuario requerido: Administrador
La configuración predeterminada de Discourse puede no ser óptima para los idiomas CJK (chino, japonés, coreano). Sin embargo, Discourse ahora ajusta automáticamente muchas de estas configuraciones cuando la configuración regional del sitio se establece en un idioma CJK (japonés, chino simplificado o chino tradicional). Esta guía explica qué se configura automáticamente y qué es posible que aún deba ajustar manualmente.
Valores predeterminados automáticos de la configuración regional
Cuando la configuración regional predeterminada de su sitio se establece en ja, zh_CN o zh_TW, se ajustan automáticamente las siguientes configuraciones:
| Configuración | Predeterminado | Predeterminado de la configuración regional CJK |
|---|---|---|
min_search_term_length |
3 | 1 (también se aplica 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 (ja solamente) |
title_prettify |
true | false |
Si su sitio utiliza una de estas configuraciones regionales, por lo general no necesita cambiar estas configuraciones; ya estarán optimizadas para CJK.
Ajustes manuales
Configuración regional coreana
El coreano (ko) solo recibe un valor predeterminado automático de la configuración regional para min_search_term_length. Si su sitio utiliza la configuración regional coreana, debe ajustar manualmente las otras configuraciones enumeradas anteriormente a valores similares.
Sitios con configuración regional multilingüe o no CJK con contenido CJK
Si la configuración regional predeterminada de su sitio no es un idioma CJK, pero tiene usuarios que hablan CJK importantes, deberá ajustar estas configuraciones manualmente:
- Establezca
min_search_term_lengthen 1 o 2: las palabras clave CJK pueden tener tan solo uno o dos caracteres - Establezca
min_post_lengthen aproximadamente 8 - Establezca
body_min_entropyen aproximadamente 3: la duplicación es común y significativa en los idiomas CJK, por lo que establecer este valor demasiado alto puede provocar errores de “publicación no significativa” - Establezca
min_topic_title_lengthen aproximadamente 6 - Establezca
title_min_entropyen aproximadamente 3 - Establezca
min_title_similar_lengthen aproximadamente 4 - Habilite
allow_uppercase_posts: Discourse podría no reconocer los caracteres CJK al analizar los títulos de los temas en cuanto a mayúsculas y minúsculas, lo que provoca errores - Deshabilite
title_prettify: las reglas de embellecimiento de títulos están diseñadas para escrituras latinas y es posible que no funcionen bien con texto CJK
Tokenización de búsqueda
Para mejorar la precisión de la búsqueda, Discourse ofrece configuraciones opcionales de tokenización específicas de CJK:
search_tokenize_chinese: habilita la segmentación del texto chino para mejores resultados de búsquedasearch_tokenize_japanese: habilita la segmentación del texto japonés para mejores resultados de búsqueda
Estas están deshabilitadas por defecto y se pueden habilitar en la configuración de búsqueda del administrador.
Solución de problemas de búsqueda
Si encuentra problemas con la funcionalidad de búsqueda después de realizar estos cambios, es posible que deba volver a indexar su base de datos. A continuación, se muestra cómo hacerlo:
- Ingrese al directorio de instalación de Docker de Discourse.
- Ejecute el siguiente comando para acceder al contenedor de la aplicación:
./launcher enter app - Una vez dentro del contenedor, ejecute el comando de nueva indexación:
rake search:reindex
Después de la nueva indexación, debería poder buscar contenido de manera efectiva.