El lenguaje para realizar cualquier query en SharePoint 2013 es el KQL, que le da una potencia extraordinaria a los search webparts y otros componentes de búsqueda, pero tiene algunas pegas de cara al usuario “de a pié” con las búsquedas estándar. Una de ellas es que si tu quieres buscar, por ejemplo, resultados que contengan la palabra “Methodology”, tendrás que poner en el cajetín de búsqueda la palabra entera, o los primeros caracteres con el asterisco (wildcard) al final: “method*”.

A los que hemos estado delante de un ordenador toda la vida, y especialmente a los que trabajamos en TI, nos resultará lo más normal del mundo, pero puede que os sorprenda la cantidad de personas que nunca entenderán que al final de una búsqueda se tenga que poner un asterisco. ¿Asterisco? ¿Qué es eso? ¿Por qué? (y la frase “estrella”) ¡¡En Google nunca pongo asterisco!!

image

Si vuestro cliente os pide que el asterisco vaya incluido por defecto en todas las búsquedas, para no tener su servicio de helpdesk sacando humo todo el día, quizás el primer impulso sea contestar que no se puede, que SharePoint viene así por defecto, y que se puede analizar en un desarrollo a medida… Por suerte, en este caso hay solución, simple y gratuita. Vamos allá.

En SharePoint 2013 han desaparecido los ámbitos de búsqueda (Scopes) y ahora han sido substituidos por los “Result Sources”. Qualquier búsqueda que se realice sobre SharePoint 2013 se asocia a un Result Source concreto, que especifica los siguientes parámetros.

  • Un proveedor de búsqueda: Como por ejemplo SharePoint Local, SharePoint Remoto o Exchange.
  • Un protocolo:  Como por ejemplo OpenSearch.
  • Un query transform: Nos permite especificar el subconjunto de resultados pre-configurando la query que se utilizará en todas las búsquedas del result source definido.
  • Un sistema de autenticación: Se puede especificar el método de autenticación entre los disponibles en la configuración de la granja de SharePoint.

SharePoint 2013 viene por defecto con 16 result sources preconfigurados, entre ellos, el que se usa de forma predeterminada en las búsquedas es el “Local SharePoint Results”.

Lo que tenemos que hacer para incluir el wildcard (*) en las búsquedas básicas es sustituir ese result source predeterminado por otro que crearemos nosotros mismos. Para ello lo primero es saber que un resoult source se puede definir tanto a nivel de Site, como de Site Collection como de Administración Central de SharePoint. En función de dónde lo definamos, las “capas inferiores” heredarán los cambios de las “capas superiores”. Por lo tanto, en función de dónde queramos modificar las búsquedas, configuraremos en uno u otro nivel.

En caso de querer modificar a nivel de Site o Site collection, se accederá por el menú de Site Settings, y en la sección de “Search” o “Site Collection Administration”, selecciónar “Result Sources” o “Search Result Sources” respectivamente.

En el caso de querer modificar todas las búsquedas a nivel global, en la administración central iremos a “Application Management” – “Service Applications” – “Manage Service Applications” – “Search Service Application” y una vez dentro de la administración de las búsquedas, pulsar en “Result Sources” en el menú vertical izquierdo, en la sección de “Queries and Results”.

Una vez dentro del listado de Result Sources, crearemos un nuevo Result Source (New Result Source), y en la siguiente pantalla introduciremos la siguiente información:

  • Name: (introducir un nombre que nos parezca apropiado para el nuevo Result Source)
  • Protocol: Local SharePoint
  • Type: SharePoint Search Results
  • Query Transform: {searchTerms}* 

(es aquí donde estamos forzando el asterisco al final de cada búsqueda)

  • Credentials Information: Default authentication

Finalmente, pulsad el botón “Save” al final del formulario para generar el nuevo Resoult Source de forma definitiva.

image

Una vez hayamos creado el nuevo Result Resource, debemos seleccionarlo en el listado de “Defined for this search service”, y en el menú desplegable seleccionar la opción de “Set as Default”.

image

¡¡Voila!! A partir de ahora, todas las búsquedas por defecto incluirán el wildcard del asterisco, esto incluye los siguientes componentes de búsqueda:

  • Búsqueda estándar

 image

  • Búsqueda avanzada

image

  • Búsqueda en listas/bibliotecas

image

Por supuesto, también aplicará a todas aquellas páginas personalizadas donde hayamos introducido algún control de búsqueda estándar.

Y con esta pequeña introducción a los Result Resources de 2013 terminamos por hoy. Esta vez ha sido un buen día, pues hemos resuelto exitosamente un nuevo reto / requerimiento de cliente!

¡Salud!