Novedades para desarrolladores en SharePoint Search
Obtenga información sobre las nuevas características disponibles para los desarrolladores en Buscar en SharePoint.
Modelo de objetos de cliente de búsqueda con acceso a las funciones del modelo de objetos de consulta para el desarrollo de aplicaciones en línea, locales y móviles
SharePoint Search incluye un modelo de objetos de cliente (CSOM) que permite el acceso a la mayor parte de la funcionalidad del modelo de objetos de consulta para el desarrollo en línea, local y móvil. Puede usar el CSOM de búsqueda para crear aplicaciones cliente que se ejecutan en un equipo que no tiene SharePoint instalado para devolver resultados de búsqueda de SharePoint.
El CSOM de búsqueda incluye un modelo de objetos de cliente administrado de Microsoft .NET Framework y un modelo de objetos de JavaScript, y se basa en SharePoint. En primer lugar, el código de cliente obtiene acceso al CSOM de SharePoint. Luego, obtiene acceso al CSOM de búsqueda.
Para usar el CSOM administrado de Search .NET Framework, debe obtener una instancia de ClientContext (ubicada en el espacio de nombres Microsoft.SharePoint.Client en el Microsoft.SharePoint.Client.dll). Luego, use el modelo de objetos en el espacio de nombres Microsoft.SharePoint.Client.Search.Query en Microsoft.Office.Server.Search.Client.dll. Para más información sobre el CSOM de SharePoint, vea Modelo de objetos cliente administrado. Para más información sobre el objeto ClientContext, que es el punto de entrada al CSOM, vea Contexto de cliente como objeto central.
El CSOM de búsqueda devuelve los datos de resultados de búsqueda desde el servidor en la notación de objetos JavaScript (JSON). El JSON de los datos de resultados de búsqueda contiene una colección ResultTableCollection compuesta por objetos ResultTable que representan diferentes conjuntos de resultados.
Eliminación de la compatibilidad con la sintaxis SQL
Las soluciones de búsqueda personalizadas en SharePoint no admiten la sintaxis SQL. La búsqueda en SharePoint admite la sintaxis FQL y la sintaxis KQL para soluciones de búsqueda personalizadas. No puede usar la sintaxis SQL en las soluciones de búsqueda personalizadas con ninguna tecnología, incluido el modelo de objetos de servidor de consulta, el modelo de objetos de cliente y el servicio REST de búsqueda. Las soluciones de búsqueda personalizadas que usan la sintaxis SQL con el modelo de objetos del servidor de consultas y el servicio web de consulta que se crearon en versiones anteriores de SharePoint Server no funcionarán al actualizarlas a SharePoint. Las consultas enviadas mediante estas aplicaciones devolverán un error. Para obtener más información sobre el uso de la sintaxis de FQL y la sintaxis de KQL, vea Referencia de sintaxis del Lenguaje de consulta de palabras clave (KQL) y Sintaxis del lenguaje de consulta FAST (FQL.md).
Servicio REST de búsqueda para la ejecución remota de consultas desde aplicaciones cliente
SharePoint incluye un servicio de transferencia de estado representacional (REST) que le permite ejecutar consultas de forma remota en la servicio Search de SharePoint desde aplicaciones cliente mediante cualquier tecnología que admita solicitudes web REST. El servicio REST de búsqueda expone dos extremos, query y suggest, y admite las operaciones GET y POST. Los resultados se devuelven en formato XML o JSON.
A continuación se muestra el punto de acceso para el servicio: http://server/_api/search/
. También puede especificar el sitio en la dirección URL, como se indica a continuación: http://server/site/_api/search/
. El servicio de búsqueda devuelve resultados de toda la colección de sitios y, por lo tanto, se devuelven los mismos resultados para los métodos de acceso al servicio.
También puede usar la dirección URL que hace referencia a client.svc para acceder al servicio, como se indica a continuación: http://server/_vti_bin/client.svc/search/
. Pero, la convención preferida es usar _api
.
Use el siguiente punto de acceso para los metadatos del servicio:
http://server/_api/$metadata
Para obtener información general sobre el servicio REST en SharePoint, vea Usar operaciones de consulta de OData en solicitudes REST de SharePoint.
Suplantación del servicio web de consulta en la búsqueda de SharePoint
El servicio web de consulta (ubicado en la ruta de acceso http://server/site/_vti_bin/search.asmx
) está en desuso en SharePoint. Si escribe aplicaciones nuevas, evite usar esta característica en desuso y use en su lugar el nuevo servicio REST de consulta o CSOM de consulta. Si modifica las aplicaciones existentes, recomendamos quitar las dependencias de esta característica.
Mejoras en el modelo de objetos de consulta en la búsqueda de SharePoint
Las propiedades de consulta brindan información sobre una consulta de búsqueda. En la búsqueda de SharePoint, se agregó un contenedor de propiedades a las clases de consulta y de resultados para habilitar las propiedades de consulta definidas por el usuario. Puede obtener acceso a las propiedades de consulta existentes a través de la propiedad de una de las clases de consulta, de la siguiente manera:
KeywordQuery.EnableStemming
O bien, puede usar el contenedor de propiedades, de la siguiente manera:
KeywordQuery.Properties["EnableStemming"]
Solamente puede obtener acceso a las propiedades definidas por el usuario con el contenedor de propiedades, de la siguiente manera:
KeywordQuery.Properties["UserDefinedProperty"]
La búsqueda de SharePoint incluye propiedades de consulta en el contenedor de propiedades, incluidas las nuevas propiedades de consulta, como:
BypassResultTypes Especifica si se devuelve el tipo de elemento de resultado de búsqueda para los resultados de la consulta. Especifique true para no devolver ningún tipo de resultado; De lo contrario, false.
EnableInterleaving Especifica si los conjuntos de resultados generados mediante la ejecución de acciones de regla de consulta para agregar un bloque de resultados se mezclan con el conjunto de resultados de la consulta original. Especifique true para mezclar el conjunto de resultados generado con el conjunto de resultados original; De lo contrario, false.
EnableQueryRules Especifica si las reglas de consulta están activadas para esta consulta. Especifique true para habilitar las reglas de consulta para la consulta; De lo contrario, false.
Puede especificar cualquier propiedad en el contenedor de propiedades (incluidas las propiedades definidas por el usuario) como condiciones de regla de consulta. Puede usar las reglas de consulta a fin de personalizar la experiencia de búsqueda para las clases de consulta que son importantes para los usuarios. Cuando una consulta cumple las condiciones especificadas en una regla de consulta, la regla especifica acciones para mejorar la relevancia de los resultados de búsqueda asociados.
Mejoras en el lenguaje de consulta de palabras clave
SharePoint incluye mejoras en el lenguaje de consulta Keyword, que se describen en esta sección.
Operador NEAR mejorado
En SharePoint Server 2010, el operador NEAR implicaba una distancia máxima entre los tokens de 8 y conservaba el orden de los tokens de entrada. En SharePoint, el operador NEAR ya no conserva el orden de los tokens. Además, el operador NEAR ahora recibe un parámetro opcional que indica la distancia máxima de los tokens. Aun así, el valor predeterminado sigue siendo 8. Si debe usar el comportamiento anterior, use en su lugar ONEAR.
El operador NEAR se puede usar en expresiones de restricción de propiedad, como se muestra en el ejemplo siguiente:
"acquisition" NEAR "debt"
Esta consulta devuelve como coincidencia los elementos donde los tokens "acquisition" y "debt" aparecen dentro del mismo documento, con una distancia máxima entre los tokens de 8 (que es el valor predeterminado de n si no se indica ningún valor). El orden de los tokens no es importante para la coincidencia.
Si necesita una distancia más corta entre los tokens, puede especificarla de la siguiente manera:
"acquisition" NEAR(n=3) "debt"
Esta consulta devuelve como coincidencia los elementos donde los dos tokens "acquisition" y "debt" aparecen dentro del mismo documento, con una distancia máxima entre los tokens de 3. El orden de los tokens no es importante para la coincidencia.
Nuevo operador ONEAR
El operador ONEAR proporciona una funcionalidad cercana ordenada. Recibe un parámetro opcional que indica la distancia máxima del token; el valor predeterminado es 8.
El operador ONEAR conserva el orden de las expresiones de entrada. Para una proximidad no ordenada, use NEAR.
Puede usar el operador ONEAR en expresiones de restricción de propiedad, como se muestra en el ejemplo siguiente:
"acquisition" ONEAR "debt"
Esta consulta devuelve como coincidencia los elementos donde los dos tokens "acquisition" y "debt" aparecen dentro del mismo documento, con una distancia máxima entre los tokens de 8 (que es el valor predeterminado de n si no se indica ningún valor). El orden de los tokens debe coincidir para que se devuelva un elemento.
Si necesita una distancia más corta entre los tokens, puede especificarla de la siguiente manera:
"acquisition" ONEAR(n=3) "debt"
Esta consulta devuelve como coincidencia los elementos donde los dos tokens "acquisition" y "debt" aparecen dentro el mismo documento, con una distancia máxima entre los tokens de 3. El orden de los tokens debe coincidir para que se devuelva un elemento.
Nuevo operador XRANK
En SharePoint Server 2010, el operador XRANK estaba disponible solamente con el lenguaje de consulta FAST (FQL). SharePoint presenta un operador XRANK nuevo y eficaz.
El operador XRANK proporciona un control dinámico de la clasificación. Este operador aumenta la clasificación dinámica de los elementos en función de la repetición de ciertos términos, sin cambiar los elementos que coinciden con la consulta.
Marco de resultados enriquecido para personalizar la interfaz de usuario de resultados de búsqueda
La búsqueda de SharePoint incluye un nuevo marco de resultados que facilita la personalización de la apariencia (apariencia) de la interfaz de usuario (UI) de los resultados de búsqueda. Ahora, en lugar de escribir un XSLT personalizado para cambiar la visualización de los resultados de búsqueda, puede usar plantillas para mostrar y tipos de resultados para personalizar la apariencia de los resultados importantes.
Plantillas para mostrar
Las plantillas para mostrar definen el comportamiento y el aspecto visual de un tipo de resultado mediante HTML, CSS y JavaScript. Puede personalizar las plantillas para mostrar existentes o crear algunas con un editor HTML, y cargarlas en la galería correspondiente.
Tipos de resultados
Los tipos de resultados definen cómo mostrar un conjunto de resultados de búsqueda en función de una de las colecciones siguientes:
Reglas Determinan cuándo se debe aplicar un tipo de resultado, en función de las condiciones especificadas. Las condiciones de regla se pueden combinar mediante operadores lógicos, de igualdad y de comparación.
Propiedades Determinan la lista de propiedades administradas para el resultado. Se deben agregar propiedades administradas a la lista antes de asignar la propiedad asignada a una plantilla para mostrar.
Plantillas para mostrar Definen el aspecto visual del tipo de resultado.
Los administradores pueden crear y administrar los tipos de resultados en el nivel de sitio o en el nivel de aplicación de servicio. No se requiere ninguna codificación personalizada.
Mejoras en el marco del conector
La búsqueda de SharePoint le permite recuperar información de notificaciones para el contenido almacenado en orígenes de datos externos personalizados que se rastrean mediante el marco del conector.
El marco del conector también ofrece una captura y registro de excepciones mejorados para ayudar a solucionar los errores detectados al rastrear orígenes de contenido con conectores personalizados integrados en el marco del conector. Para obtener información sobre el marco del conector, vea Buscar marco de conector en SharePoint.