Problema con los títulos cortado en los resultados de búsqueda SharePoint

Trabajando con el motor de búsqueda de SharePoint en Office 365 Ignacio se encontró con un problema a la hora de mostrar resultados en la página de resultados utilizando una plantilla y le pedí que escribiera unas líneas para compartirlo, gracias Ignacio.

El problema radica en que cuando vamos a realizar una búsqueda en SharePoint 2013 o la versión Online, notamos que los títulos desplegados en cada ítem no son correctos y aparecen cortados.

Para reproducir el problema realizo las siguientes configuraciones. Configuro la Web Part de Resultados de Búsqueda de la siguiente forma: Retornará “Sitios”.

clip_image002

Utilizará la plantilla “Elemento de sitio”

clip_image004

El resultado es el siguiente:

clip_image006

Ahora realizo una búsqueda, por ejemplo, por “Graph”:

clip_image008

En el resultado de la búsqueda el título se ve truncado y sin ninguna lógica. Si depuramos el código JavaScript veremos que el problema parecería radicar cuando en la plantilla “Item_CommonItem_Body” se hace referencia a la función “Srch.U.getHighlightedProperty” y más precisamente en la línea:

var title = Srch.U.getHighlightedProperty(id, ctx.CurrentItem, "Title"); 
Y de aquí en Adelante la variable “title” contendrá el valor incorrecto. Pero mirando más de fondo, vemos que en todo momento (desde que se ejecuta Item_Site hasta Item_CommonItem_Body) el objeto CurrentItem del contexto, ya viene con la propiedad “HitHighlightedProperty” mal calculada.

clip_image010

Pero lo curioso es que todo esto no ocurre si, por ejemplo, hubiésemos configurado la Web Part para utilizar la plantilla “Item Default” para el mismo resultado de búsqueda. Entonces esto ¿parecería ser un bug? Y ¿Cómo podemos solucionar este problema? Evidentemente debería haber alguna diferencia entre ambas plantilla que cause el problema. Revisando algún elemento que tenga que ver con las propiedades “Highlighted”, encontré que ambas plantillas difieren en referenciar a la Managed Property “HitHighlightedSummary”

clip_image012

Por lo tanto la agregamos a la plantilla “Item Site” para ver que ocurría:

clip_image014

Al salvar el cambio en la plantilla, como estamos modificando la definición por defecto, nos mostrará este mensaje en SharePoint Designer:

clip_image016

Luego de decir que “Yes” y republicar la plantilla para asegurarnos de volver a generar el archivo JavaScript asociado, volvemos a probar la misma búsqueda y…

clip_image018

Evidentemente si es un bug y si nos ocurre lo mismo con otras plantillas seguramente no tengan referenciada la Managed Property “HitHighlightedSummary”.

Compartir