Administrar el componente de índice en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

En los procedimientos y ejemplos de este artículo se presupone que se han instalado SharePoint Server y la aplicación de servicio de búsqueda, que existe una topología de búsqueda y que el índice de búsqueda de SharePoint Server contiene elementos. Si SharePoint Server y la aplicación de servicio de búsqueda se acaban de instalar y el índice de búsqueda de SharePoint Server no contiene ningún elemento, siga las instrucciones que se indican en Cambiar la topología de búsqueda predeterminada en SharePoint Server para escalar horizontalmente la topología de búsqueda.

Las operaciones de este artículo se refieren al componente de índice. Si quiere información sobre cómo administrar el componente de procesamiento de análisis, el componente de procesamiento de contenido, el componente de rastreo, el componente de administración de búsquedas y el componente de procesamiento de consultas, vea Administrar componentes de búsqueda en SharePoint Server.

El cmdlet de PowerShell del componente de índice (New-SPEnterpriseSearchIndexComponent) se usa para administrar tanto las particiones de índice como las réplicas del mismo. Cada componente de índice de la topología de búsqueda representa una réplica del índice.

El índice de búsqueda se divide en partes discretas denominadas particiones de índice. Cada una de estas particiones se almacena como un conjunto de archivos en un disco local. Para escalar horizontalmente el índice de búsqueda, agregue una nueva partición de índice.

Para obtener una tolerancia a errores para el índice de búsqueda de SharePoint Server, agregue una réplica de índice de una partición de índice existente a la topología de búsqueda. Todas las réplicas de índice contienen la misma información.

Antes de empezar

Antes de empezar, revise los requisitos previos siguientes.

  • SharePoint Server está instalado y se creó una aplicación de servicio de búsqueda con una topología de búsqueda.

  • La cuenta de usuario que lleva a cabo las operaciones descritas en este artículo debe ser miembro del grupo Administradores de la granja de servidores.

  • Debe haber planeado una topología de búsqueda de destino, así como los servidores en donde quiere hospedar las particiones de índice y las réplicas del mismo.

  • SharePoint Server debe estar instalado en todos los servidores en los que quiera hospedar los componentes de índice. Puede crear nuevos servidores de aplicaciones o definir servidores de aplicaciones en implementaciones existentes. Los servidores se agregan a la granja y usted es el administrador de todos estos servidores.

Agregar una réplica del índice a una partición de índice ya existente

Agregue una réplica de índice a la topología de búsqueda para obtener una tolerancia a errores en las particiones de índice ya existentes. Coloque las réplicas de índice en dominios de errores de servidores diferentes. Cuando agregue una réplica de índice, agregue también un componente de índice nuevo a la topología de búsqueda y asócielo a la partición de índice que quiera replicar.

Importante

Este procedimiento usa Microsoft PowerShell. Los comandos de PowerShell de Microsoft se pueden ejecutar en cualquier servidor de la granja de servidores. Sin embargo, debe usar el mismo Shell de administración de SharePoint para todos los comandos de Microsoft PowerShell de este procedimiento para que pueda compartir referencias de objetos de Microsoft PowerShell entre comandos.

Para agregar una réplica de índice

  1. Compruebe si la cuenta de usuario que va a realizar este procedimiento es miembro del grupo Administradores de la granja de servidores.

  2. Inicie un Shell de administración de SharePoint en uno de los servidores de la granja.

  3. Inicie una instancia del servicio de búsqueda en el servidor en el que quiera crear la réplica del índice y cree una referencia al identificador de la instancia del servicio de búsqueda. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    $<host n > = Get-SPEnterpriseSearchServiceInstance -Identity "<Server name>"
    Start-SPEnterpriseSearchServiceInstance -Identity $<host n >
    

    Donde:

    • $<host n> especifica la referencia de objeto de PowerShell para la instancia del servicio de búsqueda.

    • <Nombre del servidor> especifica el servidor en el que desea agregar un componente de índice. La entrada debe ser un GUID válido, con el formato 12345678-90ab-cdef-1234-567890bcdefgh; un nombre válido de un servidor (por ejemplo, myserver1 ); o una instancia de un objeto SearchServiceInstance válido.

    Por ejemplo:

    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    
  4. Espere hasta que la instancia del servicio de búsqueda esté ejecutándose. En el símbolo del sistema de PowerShell de Microsoft, escriba el comando siguiente hasta que el comando devuelva el estado En línea:

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    
  5. Clone la topología de búsqueda activa. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
    
  6. Agregue un componente de índice nuevo y asócielo a una partición. En el símbolo del sistema de Windows PowerShell, escriba los comandos siguientes:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance <host n > -IndexPartition <Index partition number>
    

    Donde:

    • $clone es la topología clonada que está cambiando.

    • $<host n> es la referencia de objeto de PowerShell a la instancia del servicio de búsqueda en ejecución en el servidor al que desea agregar la réplica de índice.

    • <Index partition number> es el número de la partición de índice existente de la que está creando una réplica. Por ejemplo, para crear una réplica de índice de la partición de índice 0, elija "0" como valor del parámetro.

    Por ejemplo:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostA -IndexPartition 0
    
  7. Active la topología clonada. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    Set-SPEnterpriseSearchTopology -Identity $clone
    
  8. Compruebe que la nueva topología está activa y que se agregó el componente de índice que representa la réplica de índice nueva. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
    
  9. Supervise la distribución del índice existente a la réplica nueva. La réplica de índice agregada tendrá el estado Degradado hasta que haya finalizado la distribución. En el símbolo del sistema de PowerShell de Microsoftescriba los comandos siguientes:

    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text
    

    Ejecute de nuevo este comando hasta que todos los componentes de búsqueda, incluido el componente de índice nuevo, tengan el estado Activo. En el caso de un índice de búsqueda voluminoso, esta tarea puede prolongarse durante horas.

Agregar una partición de índice nueva

Cuando agregue una nueva partición de índice, debe volver a crear particiones en el índice de búsqueda. Según el tamaño del índice de búsqueda, esta nueva división en particiones puede tardar varias horas en llevarse a cabo.

Para agregar una partición de índice y volver a particionar el índice de búsqueda, agregue un componente de índice nuevo a la topología de búsqueda y asócielo a un número de partición de índice nuevo. La tarea de agregar una partición de índice y de volver a particionar el índice de búsqueda debe iniciarse como proceso separado y no mientras esté efectuando otros cambios en la topología de búsqueda.

Debe agregar a la nueva partición de índice la misma cantidad de réplicas de índice que hay en las particiones ya existentes.

Antes de agregar una partición de índice nueva a la topología de búsqueda e iniciar la división en particiones del índice de búsqueda:

  • Haga una copia de seguridad de la aplicación del servicio de búsqueda y del índice de búsqueda ya existente. Consulte Copias de seguridad de aplicaciones de servicio de búsqueda en SharePoint Server.

  • Asegúrese de que la topología activa actual sea correcta. Vea el estado de la topología de búsqueda en la página Administración de búsqueda de Administración central o ejecute el cmdlet Get-SPEnterpriseSearchStatusde Microsoft PowerShell .

  • Compruebe que el servidor al que va a agregar la partición de índice tenga suficiente espacio disponible en el disco.

Precaución

La aplicación de servicio de búsqueda se pausa durante el reparticionamiento de índice y no puede rastrear ni indizar contenido. Además, los usuarios tampoco podrán ejecutar consultas.

Para agregar una partición de índice

  1. Compruebe si la cuenta de usuario que va a realizar este procedimiento es miembro del grupo Administradores de la granja de servidores.

  2. Inicie un Shell de administración de SharePoint en uno de los servidores de la granja.

  3. Inicie una instancia del servicio de búsqueda en todos los servidores en los que quiera agregar una réplica de índice para la nueva partición de índice. Cree una referencia de objeto de PowerShell a la instancia del servicio de búsqueda que se usará más adelante. Por cada servidor, en el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    $<host n > = Get-SPEnterpriseSearchServiceInstance -Identity "<Server name>"
    Start-SPEnterpriseSearchServiceInstance -Identity $<host n >
    

    Donde:

    • <host n> especifica la referencia de objeto de PowerShell para la instancia del servicio de búsqueda.

    • <Nombre del servidor> especifica el servidor en el que desea agregar un componente de índice. La entrada debe ser un GUID válido, con el formato 12345678-90ab-cdef-1234-567890bcdefgh; un nombre válido de un servidor (por ejemplo, myserver1 ); o una instancia de un objeto SearchServiceInstance válido.

    Por ejemplo:

    $hostC = Get-SPEnterpriseSearchServiceInstance -Identity "myserver3"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostC
    $hostD = Get-SPEnterpriseSearchServiceInstance -Identity "myserver4"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostD
    
  4. Espere hasta que las instancias del servicio de búsqueda estén ejecutándose. Por cada servidor, en el símbolo del sistema de PowerShell de Microsoft, escriba el comando siguiente hasta que el comando devuelva el estado En línea:

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    
  5. Clone la topología de búsqueda activa. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
    

    El comando crea una topología de búsqueda clonada a la que se puede hacer referencia con $clone y devuelve información sobre la topología clonada. Anote el identificador de la topología clonada por si tiene que cancelar el proceso de reparticionamiento.

  6. Agregue una partición de índice nueva agregando uno o varios componentes de índice y asócielos a la nueva partición de índice. Le recomendamos que cree, para la nueva partición de índice, el mismo número de réplicas de índice que hay en las particiones existentes. Por cada componente de índice nuevo, en el símbolo del sistema de Windows PowerShell escriba los comandos siguientes:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance <host n > -IndexPartition <Index partition number>
    

    Donde:

    • $clone es la topología clonada que está cambiando.

    • $<host n> especifica la referencia de objeto de PowerShell para la instancia del servicio de búsqueda.

    • <Index partition number> es el número de la partición de índice existente de la que está creando una réplica. De forma predeterminada, solo dispone de una partición de índice que se denomina partición de índice 0. Si desea crear una nueva partición de índice, escriba el valor de parámetro IndexPartition "1", seguido del "2", el "3" y así sucesivamente.

    Por ejemplo, si tiene una partición de índice de 0 con réplicas de índice en el host A y en el host B, y quiere agregar una partición de índice nueva con réplicas de índice en los hosts C y D:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostC -IndexPartition 1
    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostD -IndexPartition 1
    
  7. Compruebe que la aplicación del servicio de búsqueda se está ejecutando. En el símbolo del sistema de PowerShell de Microsoft, escriba los comandos siguientes:

    $ssa.IsPaused() -ne 0
    
    • Si este comando devuelve False, la aplicación del servicio de búsqueda se está ejecutando. Siga con el paso 9.

    • Si este comando devuelve True, la aplicación del servicio de búsqueda está pausada. Siga con el paso 8.

  8. Si la aplicación del servicio de búsqueda está pausada, averigüe por qué y si tiene que esperar a que se complete alguna operación antes de que pueda seguir con el paso 9. Vea Administrar una aplicación de servicio de búsqueda en pausa en SharePoint Server para obtener más información.

  9. Inicie la activación de la topología clonada. Se iniciará la activación de la topología, que incluye las réplicas de índice nuevas asociadas a la partición de índice nueva. Se iniciará el proceso de reparticionamiento del índice.

    Importante

    La aplicación de servicio de búsqueda se pausa durante el reparticionamiento de índice y no puede rastrear ni indizar contenido. Además, los usuarios tampoco podrán ejecutar consultas. No podrá acceder a la consola de Windows PowerShell donde se ejecuta el comando de activación.

    Nota:

    La página de administración de búsqueda de la Administración central no muestra que se ha pausado la aplicación del servicio de búsqueda para el reparticionamiento de índice. Ahora bien, como se han suspendido todos los componentes de procesamiento de consultas al pausar la aplicación del servicio de búsqueda para la repartición, la página de administración de búsqueda mostrará errores para los componentes de procesamiento de consultas durante el proceso.

    En el símbolo del sistema de Windows PowerShell, escriba los siguientes comandos:

    $ssa.PauseForIndexRepartitioning()
    Set-SPEnterpriseSearchTopology -Identity $clone
    
  10. Supervise el proceso de reparticionamiento del índice. Solo puede supervisar el progreso del proceso de reparticionamiento en los componentes de índice principales de la topología existente. Los pasos siguientes muestran cómo encontrar los componentes de índice principales.

    Nota:

    No podrá ejecutar ningún comando en el Shell de administración de SharePoint existente hasta que la activación de la topología, incluido el proceso de reparticionamiento de índice, haya finalizado. Ejecute los comandos siguientes en otro Shell de administración de SharePoint.

    • Inicie otro Shell de administración de SharePoint.

    • Busque la réplica de índice principal de cada partición de índice existente. En el símbolo del sistema de Windows PowerShell del otro Shell de administración de SharePoint, escriba los comandos siguientes:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text
    

    El comando devuelve una lista de componentes de índice y sus propiedades. Anote los nombres de los componentes de índice principales. Se trata de componentes de índice que tienen la propiedad Primary: True.

    Por ejemplo, la salida podría tener la apariencia siguiente. En este ejemplo, IndexComponent2 es el componente de índice principal:

    Name      : IndexComponent1
    State     : Active
    Primary   : False
    Partition : 0
    Host      : MyMachine1
    Name      : Cell:IndexComponent1-SPd32cdffb08a2I.0.0
    State     : Active
    Primary   : False
    Partition : 0
    Name      : IndexComponent2
    State     : Active
    Primary   : True
    Partition : 0
    Host      : MyMachine2
    Name      : Cell:IndexComponent2-SPd32cdffb08a2I.1.0
    State     : Active
    Primary   : True
    Partition : 0
    
  11. Por cada componente del índice principal, supervise el progreso del reparticionamiento de índice. En el símbolo del sistema de Windows PowerShell del otro Shell de administración de SharePoint, escriba los comandos siguientes:

    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Healthreport -Component <Index component name> | ? { ($_.name -match "repart") -or ( $_.name -match "splitting") } | ft -AutoSize Name, Message
    

    Donde:

    • <Index component name> es el nombre del componente del índice principal cuyo progreso desea supervisar; por ejemplo, IndexComponent2.

    Supervise la salida del comando de cada componente del índice principal. Esta salida contiene información del progreso de reparticionamiento del índice.

    Durante la fase inicial del proceso de reparticionamiento del índice, la salida tendrá un aspecto como el siguiente:

    Name                                              Message
    ----                                              -------
    repartition_component_state[SP...]                Pending
    

    Las particiones de índice se dividen durante la fase principal del proceso de reparticionamiento del índice. En esta fase, la salida tendrá un aspecto como el siguiente:

    Name                                              Message
    ----                                              -------
    index splitting: current fusion progress[SP...]   <Percentage value>
    index splitting: splitting state [SP...]          Index splitter running fusion, building: <Folder>
    repartition_component_state [SP...]               Splitting
    

    El valor de porcentaje de la salida indica el progreso aproximado del proceso de reparticionamiento.

    Vuelva a ejecutar este comando para todos los componentes del índice principal hasta que la salida de los comandos ya no devuelva ningún valor. Esto significa que el proceso de reparticionamiento del índice ha finalizado y que ahora el índice reparticionado se replicará y distribuirá en todos los servidores. Esta tarea puede prolongarse durante varias horas.

  12. Supervise el progreso de la distribución del índice en las nuevas réplicas de índice. Para ello, compruebe que la nueva topología esté activa y que todos los componentes de búsqueda funcionen correctamente. En el símbolo del sistema de Windows PowerShell del otro Shell de administración de SharePoint, escriba los comandos siguientes:

    Get-SPEnterpriseSearchStatus -SearchApplication $ssa | ft -AutoSize Name, State, Details
    

    Durante la distribución del índice en las réplicas de índice nuevas, las réplicas de índice agregadas devolverán el estado Degradado. La distribución habrá finalizado cuando todos los componentes de índice devuelvan el estado Activo en la salida. Esta tarea puede prolongarse durante varias horas.

    Nota:

    Los componentes de procesamiento de las consultas están suspendidos porque ha pausado la aplicación del servicio de búsqueda para la repartición del índice. En la salida, los componentes de procesamiento de consultas figurarán con el estado Desconocido.

  13. En el Shell de administración de SharePoint que usó para iniciar el proceso de activación de la topología, compruebe que el comando de activación de la topología de búsqueda haya finalizado.

  14. (Opcional) Reinicie el servicio del controlador de host de búsqueda de SharePoint en todos los servidores que hospedan componentes de índice (que representen una réplica de índice primario o cualquier otra réplica de índice) antes de la repartición.

    Ejecute este paso para obtener un contaje de documentos correcto y liberar memoria después de reparticionar el índice de búsqueda. Si decide no realizar este paso, se tardará unos días y se deberán realizar algunas iteraciones de indexación para que se reduzca gradualmente el uso de memoria y el recuento de documentos (que devuelven los cmdlets de PowerShell y en la página Administración de búsquedas en la Administración central) sea correcto.

    Nota:

    Para evitar que las consultas se interrumpan, asegúrese de que, como mínimo, un componente de índice devuelva el estado Ejecutando por cada partición de índice, antes de reiniciar el servicio Controlador de host de búsqueda de SharePoint.

    Importante

    No use la página Servicios del servidor del sitio web de Administración central de SharePoint Server para reiniciar este servicio.

    • Para reiniciar el Controlador de host de búsqueda de SharePoint, abra una ventana del símbolo de sistema indicador de los servidores que hospedan los componentes de índice de las particiones de índice existentes.

    • Para detener el Controlador de host de búsqueda de SharePoint, escriba el comando siguiente: net stop spsearchhostcontroller

    • Para reiniciar el Controlador de host de búsqueda de SharePoint, escriba el comando siguiente: net start spsearchhostcontroller

  15. Reanude la aplicación del servicio de búsqueda. En el símbolo del sistema de Windows PowerShell, escriba los comandos siguientes:

    $ssa.ResumeAfterIndexRepartitioning()
    

Cancelar el proceso de reparticionamiento

Si, por algún motivo, tiene que cancelar un proceso de creación de particiones en curso, haga lo siguiente.

Para cancelar el proceso de creación de particiones

  1. Inicie otro Shell de administración de SharePoint en el servidor donde ejecutó el comando de activación de la topología.

  2. Recupere el identificador de la topología de activación. En el símbolo del sistema de Windows PowerShell escriba los comandos siguientes:

    $activating = Get-SPEnterpriseSearchTopology -Identity <Id of the activating topology> -SearchApplication $ssa
    

    Donde:

    • <Id of the activating topology> es la identidad (GUID) de la topología clonada que escribió cuando clonó la topología de búsqueda.
  3. Cancele la activación de la topología. En el símbolo del sistema de Windows PowerShell, escriba los comandos siguientes:

    $activating.CancelTopologyActivation()
    

Quitar un componente del índice

Si tiene más de una réplica de índice activa para una partición de índice, puede quitar una réplica de índice siguiendo los pasos indicados en la sección Eliminar componentes de búsqueda del artículo Administrar componentes de búsqueda en SharePoint Server.

Con esta operación no se puede eliminar la última réplica de índice de una partición de índice. Si tiene que eliminar todas las réplicas de índice de la topología de búsqueda, elimine y vuelva a crear la aplicación del servicio de búsqueda y cree una topología de búsqueda totalmente nueva que tenga el número de particiones de índice reducido.

Mover un componente de índice

Si desea mover una réplica de índice de un servidor a otro, le recomendamos que agregue un componente de índice nuevo a la topología de búsqueda antes de eliminar el componente de índice antiguo.

Para mover un componente de índice

  1. Agregue un componente de índice nuevo al servidor al que desea mover la réplica de índice. Clone la topología de búsqueda, agregue una réplica de índice nueva, espere a que el índice se replique en la réplica de índice nueva y active la topología de búsqueda. Vea Agregar una réplica del índice a una partición de índice ya existente.

  2. Espere hasta que la nueva réplica de índice esté lista para atender consultas. Vea el estado de la topología de búsqueda en la página Administración de búsqueda de Administración central o ejecute el cmdlet Get-SPEnterpriseSearchStatusWindows PowerShell . Para continuar, la réplica de índice que ha agregado debe estar Activa.

  3. Vuelva a clonar la topología de búsqueda.

  4. Elimine la réplica del índice superflua quitando el componente de índice. Vea la sección Eliminar componentes de búsqueda del artículo Administrar componentes de búsqueda en SharePoint Server.

  5. Vuelva a activar la topología de búsqueda.

Esto le permitirá garantizar la tolerancia a errores del índice de búsqueda mientras mueve la réplica de índice.