Application Used
OJS 3.3.0-22
Problem Description:
The search engine is not displaying content from the first phrase of a three-phrase title.
Example:
I have this title: “Salud y Cambio. Revista Chilena De Medicina Social. Índice de contenidos de la serie 1989-1997”
If I search for “Salud y Cambio” the search engine returns nothing.
If I search for “Revista Chilena De Medicina Social” the search engine correctly displays the article.
If I search for “Índice de contenidos de la serie 1989-1997” the search engine correctly displays the article.
You can test it yourself here: https://cuadernosms.cl/index.php/cms/search
What is causing this behavior? The search engine only indexed phrases 2 and 3, but not phrase 1 of the title.
I have updated the index using the command $ php tools/rebuildSearchIndex.php, but the problem persists.
Any ideas on where the problem might be and how to fix it?
The search must be done in Spanish to replicate the problem. I can’t understand why nothing appears if I search with the first phrase “Salud y Cambio”, but the article does appear if I search with the second and third phrases of the title: “Revista Chilena De Medicina Social” and “Índice de contenidos de la serie 1989-1997”.
Hola David
Una probabilidad puede ser el charset de caracteres del Mysql (collation especificamente) que influye en las busquedas y resultados ¿qué es lo que estás usando? para el OJS 3.3.0.22 yo uso utf8mb4_unicode_ci y no he tenido problemas así.
Hola @dagosalas gracias por responder en español y mil disculpas por demorar en contestar! Estaba traduciendo al inglés una respuesta a su comentario hasta que me di cuenta que respondió en español!.. podría indicarme ¿debo realizar la modificación aquí (en el archivo config.inc.php) y también en la base de tatos?:
;Client output/input character set
client_charset = utf-8
; Database connection character set
connection_charset = utf8
Gracias por su ayuda!
Hola! no, tienes que revisar en tu BD primero, de ahí es probable que se origine todo.
@dagosalas Hola!.. gracias por su respuesta. En mi base de datos aparece utf8mb3_general_ci investigaré más sobre el tema porque lo extraño es que la primera frase (de un título que contiene tres frases) no arroja resultados en el buscador, pero si busco por la segunda o tercera frase (aunque contenga muchas más letras que la primera) muestra el resultado correcto, es decir, el título completo aparece en los resultados junto a otros títulos que contienen las mismas palabras. Haré algunas pruebas con una copia (del sitio y su base de datos) para averiguar si modificando charset de caracteres del Mysql resuelve el problema. He informaré aquí los hallazgos. ¡Muchas gracias por su ayuda!
Estimado @dagosalas revisé a fondo el problema y la solución fue ampliar los resultados por palabras claves en el archivo config.inc.php
Por defecto viene configurado así: “results_per_keyword = 500” entonces subí el valor hasta que aparecieron los resultados. Tenga en cuenta que la revista que presentaba el problema es muy antigua (tiene artículos del año 1959 en adelante) y tiene una cantidad enorme de artículos. Para las revistas que tienen un número importante de publicaciones ampliar el número en “results_per_keyword” es la solución. ¡Muchas gracias por su ayuda!