Mostrando las entradas con la etiqueta Servicio de Búsqueda de SharePoint Server. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Servicio de Búsqueda de SharePoint Server. Mostrar todas las entradas

miércoles, 24 de mayo de 2017

La búsqueda contextual no funciona pero si la de la colección de sitos en SharePoint

Este es el sintoma que identifica este problema.  El sintoma es el siguiente:

No funciona ninguna búsqueda desde la caja de búsqueda de las listas y bibliotecas, y tampoco funciona la búsquedal sitio, pero la búsqueda dentro de la colección si devuelve resultados.

Si revismos el log de la indagación o Crawl nos muestra que el contenido si fue indagado y que es parte del índice del servicio de búsqueda pero no funciona la búsqueda contextual.

Si funciona en la mayoría y no funcion en alguna lista ese no es el sintoma y allí el problema se debe a que no ha mapeado la columna en las propiedades adminsitradas del servicio o bien porque cambio el estilo de la vista (que debe ser siempre el predeterminado o default) y no esta utilizando la vista de AllItems.aspx que es la que permite realiar las búsquedas desde la casilla de búsqueda.

Entonces regresando al tema, si este es el sintóma la solución esta en camino.

El Problema:

El problema es que se se esta indagando otra zona que no es la predeterminada o default o bien que se ha colocado el Mapeo a servidor o Server Mappings del servicio de búsqueda asumiendo que este funciona igual como en SharePoint 2010 que no es así.   En SharePoint 2013 las cosas cambiaron y fueron mejoradas pero el comportamiento es distinto en cuanto a esta úlitma opción.

La Solución:

Primero lo primero, y es que debemos de validar para que funcione la búsqueda contextal.  Y es lo siguiente:

1) Validar que la Zona Predeterminada o Default de la Web Application sea la que esta registrado en el Fuentes de contenido o Content Sources del servicio de búsqueda y ninguna otra dirección url que sea una zona distinta a la predeterminada.

Central Administration
Manage Web Application
Alternate access Mappings
Seleccionar Web Application
Validar Zona Predeterminada o Default



Central Administration
Manage Service Application
Search Service
Content Sources



2) Validar que la Zona Predeterminada o Default de la Web Application tenga habilitado la autenticación NTLM y no otra, si es necesario otro tipo de autenticación utilizar otra zona para definir esta otra autenticación, pero para poder indagar el contenido en la zona predeterminada SharePoint requiere que sea autenticación Windows o NTLM.



Buenas noticias:

Las buenas noticias es que una vez indaga con exito la zona predeterminada o default ya no es necesario de configurar otra como como Server Mappings como se hacia en SharePoint 2010.   Los resultados serán devueltos basados en la url a la que se hizo la consulta cualquiera de las zonas  definidas en el Mapeo Acceso Alternativo o AAM.




SharePoint4Fun!

Juan Manuel Herrera



martes, 16 de diciembre de 2014

Como configurar la topología del Servicio de Búsqueda en varios Servidores

Cuando contamos con más de 2 servidores para la granja de SharePoint Server 2013 podemos configurar un servidor para que se ocupe de algunos o todos los procesos del servicio de búsqueda y así distribuir la carga de trabajo entre los servidores de la granja de SharePoint.

Porque el servicio de búsqueda porque este en mi experiencia y en la documentación de Microsoft consume muchos recursos vea el siguiente cuadro.

Service Application

Web server CPU

Web server RAM

Application server CPU

Application server RAM

SQL Server CPU

SQL Server IOPS

SQL Server storage

SharePoint Foundation Service

XXX

XXX

 

 

XX

XXX

XXX

SharePoint Search Service

XXX

XXX

XXX

XXX

XXX

XXX

XXX

InfoPath Forms Service

XX

XX

XX

XX

X

X

X

Workflow capabilities *

XXX

XXX

 

 

 

 

 

Timer Service

XX

XX

XX

XX

 

 

 

X – Indica un costo insignificante del recurso. El servicio puede compartir el recurso con otros servicios.

XX – Indica un costo medio del recurso. El Servicio podría compartir el recurso con otros servicios con un impacto mínimo.

XXX – Indica un costo alto del recurso. El Servicio debería no compartir el recurso con otros servicios.

SharePoint Foundation Service   El servicio central de SharePoint para la colaboración de contenido. En las grandes implementaciones de SharePoint Server 2010, se recomienda asignar servidores Web redundantes basados ​​en carga prevista del tráfico, dimensionar adecuadamente las computadoras basadas en SQL Server que dan servicio a las bases de datos de contenido y asignar adecuadamente el almacenamiento basado en el tamaño de la granja.

SharePoint Search Service Application   La aplicación de servicio compartida que proporciona capacidades de indización y consulta. En general, este es un servicio relativamente intensiva de recursos, que puede escalar para servir a grandes despliegues de contenido. En 2010 implementaciones donde la búsqueda empresarial es muy importante gran SharePoint Server, le recomendamos que utilice una "granja de servicio" independiente para hospedar aplicaciones de servicio de búsqueda, con los recursos de base de datos dedicada, use múltiples servidores de aplicaciones de las funciones específicas de búsqueda de servicio (crawl o consulta), y servidores Web dedicados objetivo de las granjas de contenido para asegurar el rendimiento aceptable para el rastreo y la consulta.

Dentro de la arquitectura del Servicio de Búsqueda de SharePoint 2013 podemos elegir varias configuraciones dependiendo de nuestra necesidades.   Para ello debemos de conocer los componentes del Servicio.  La imagen a continuación nos ayudará a descubrirlo:

image

Podemos indicar que este servicio se compone de 5 componentes principales:

1) Componente de Indagación / Crawling

Este componente es responsable de indagar el contenido.  Utiliza conectores para obtener la información de las fuentes de contenido, pero no procesa ningún texto o documentos.  El resultado de la indagación es el contenido y su metadatos. Y son pasados el siguiente componente de Procesamiento de Contenido. En otras palabras este proceso prácticamente hace un inventario burdo sin procesar del contenido.

2) Componente de Procesamiento de Contenido / Content Processing

Este procesa los elementos indagados y alimenta al Componente de Índice.  Este procesa el contenido según los manejadores de formatos.  Incluye lo siguientes formatos: HTML, DOCX, PPTX, TXT, Image, XML and PDF. En 2013 aún los manejadores de formatos IFilters son soportados (el ifilter para PDF ya no es necesario instalarlo ya que esta versión ya lo incluye).  Este ordena y procesa el inventario hecho por el indagador.

3) Componente de Índice / Index

Este componente es utilizado para los procesos de alimentación y consulta.  Por un lado recibe los elementos procesados del componente de Procesamiento de Contenido para luego persistirlos en el índice. Por el otro lado recibe las consultas del componente de Procesamiento de Consulta y devuelve el conjunto de resultados solicitados. También es responsable de la ubicación del contenido indizado, según la topología se haya definido en el componente de Administración. En otras palabras este almacena el índice del contenido que se utilizará para las consultas.

4) Componente de Procesamiento de Consulta / Query Processing

Este recibe una consulta de búsqueda del Front-End y analiza y procesa la consulta.  La consulta procesada es enviada al componente de Índice. El Índice retorna el conjunto de resultados el cual procesa antes de ser devueltos al Front-End.  En otras palabras este traduce la consulta hecha por el usuario al índice y traduce los traduce de vuelta resultados retornados por el índice.

5) Componente de Procesamiento Analítico

Este rastrea y analiza los elementos indagados y como los usuarios utilizan los resultados de búsqueda, con el objetivo de mejorar de forma continua la relevancia de los resultados de la búsqueda.  Los resultados de este componente son devueltos  al componente de Procesamiento de Contenido para ser incluido en el Índice. En otras palabras este perfecciona y prioriza el ordenamiento del contenido que será almacenado en el índice.

6) Componente de Administración

Este componente es responsable por la topología del servicio y su configuración.  Este coordina los componentes de Procesamiento de Contenido, Consulta, Índice y Analítico.  En otras palabras este coordina los procesamientos de ordenamiento, priorización, índice y Consulta.

La Configuración

Utilizáremos PowerShell (Es necesario cargar en memoria las librerias de SharePoint con el comando Add-PSSnapin “Microsoft.SharePoint.PowerShell”) o el Management Shell para SharePoint (este ya incluye las librerías precargadas de SharePoint) para modificar la configuración predeterminada del servicio de búsqueda.  Es una tarea muy fácil luego de entender como funciona cada componente y la configuración que se desea.

En este escenario vamos a mover los componentes de mayor carga para los servidores el de procesamiento de Contenido, el Analítico e indagación de contenido al servidor identificado como CRAWLING-SERVER y el resto lo dejaremos en el servidor FRONT-END-SERVER que son el de procesamiento de consulta, índice y administración.

image

Primero deberemos identificar los servidores que vamos a utilizar para modificar la topología del servicio de Búsqueda.  Para ello es necesario tener instalado SharePoint en ambos servidores y que pertenezcan a la misma granja, una vez que hayamos completado con estos requerimientos.   Abrimos como administrador la ventana de Management Shell para SharePoint y ejecutamos las siguientes líneas:

$hostA = Get-SPEnterpriseSearchServiceInstance -Identity "FRONT-END-SERVER"

$hostB = Get-SPEnterpriseSearchServiceInstance -Identity "CRAWLING-SERVER"

Start-SPEnterpriseSearchServiceInstance -Identity $hostA
Start-SPEnterpriseSearchServiceInstance -Identity $hostB

#Luego instanceamos en memoria el servicio y la topología que deseamos configurar

$ssa = Get-SPEnterpriseSearchServiceApplication

$newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa

#Luego debemos indicar en que servidor estará cada componente

New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostA -IndexPartition 0
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB

#Y por ultimo persistir esta configuración

Set-SPEnterpriseSearchTopology -Identity $newTopology

 

Problemas:

Si en caso le despliega este error:

##Set-SPEnterpriseSearchTopology : Could not connect to the HostController service on server Topology Activation could not be started.

Intente con la siguiente línea de comando

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity "SERVERNAME"

En este artículo explicamos de forma muy breve los componentes de la arquitectura del servicio de búsqueda y luego como podemos distribuir estos componentes en diferentes servidores, la cual es muy sencilla gracias a PowerShell y el modelo de objetos de SharePoint que nos permite administrar estos componentes como objetos lógicos en memoria.


Eso es todo amigos hasta la próxima.


SharePoint4Fun!,


Juan Manuel Herrera Ocheita