Gerenciar o componente de índice no SharePoint Server

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

Os procedimentos e exemplos neste artigo assumem que o SharePoint Server e o aplicativo do serviço de Pesquisa estejam instalados e que exista uma topologia de pesquisa e itens no índice de pesquisa do SharePoint Server. Se o SharePoint Server e o aplicativo do serviço de Pesquisa foram instalados recentemente e não houver conteúdo no índice de pesquisa do SharePoint Server, siga os procedimentos descritos em Alterar a topologia de pesquisa padrão no SharePoint Server para expandir a topologia de pesquisa.

Os procedimentos neste artigo aplicam-se ao componente de índice. Para informações sobre como gerenciar os componentes de processamento analítico, de processamento de conteúdo, de rastreamento, de administração de pesquisa e de processamento de consultas, veja Gerenciar componentes de pesquisa no SharePoint Server.

Use o cmdlet do PowerShell do componente de índice (New-SPEnterpriseSearchIndexComponent) para gerenciar as partições e réplicas do índice. Cada componente de índice na topologia de pesquisa representa uma réplica do índice.

Divida o índice de pesquisa em partes distintas chamadas partições do índice. Cada partição do índice é armazenada como um conjunto de arquivos em um disco local. Para expandir o índice de pesquisa, adicione uma nova partição do índice.

Para alcançar tolerância a falhas para o índice de pesquisa do SharePoint Server, adicione uma réplica do índice de uma partição do índice existente à topologia de pesquisa. Cada réplica do índice contém a mesma informação.

Antes de começar

Antes de começar, veja os pré-requisitos a seguir.

  • O SharePoint Server está instalado e um aplicativo de serviço de Pesquisa com uma topologia de pesquisa foi criado.

  • A conta de usuário que está executando os procedimentos neste artigo é membro do grupo Administradores de Farm.

  • Você planejou uma topologia de pesquisa de destino e em quais servidores deseja hospedar as partições e réplicas do índice.

  • O SharePoint Server está instalado em todos os servidores em que você deseja hospedar componentes de índice. Você pode criar novos servidores de aplicativos ou defini-los em uma implementação existente. Os servidores estão adicionados ao farm e você é administrador em todos esses servidores.

Adicionar uma réplica do índice a uma partição do índice existente

Adicione uma réplica do índice à topologia de pesquisa para conseguir tolerância a falhas para uma partição do índice existente. Coloque as réplicas do índice em domínios de falha separados, em servidores separados. Ao adicionar uma réplica do índice, você inclui um novo componente de índice à topologia de pesquisa e o associa à partição do índice da qual deseja criar uma réplica.

Importante

[!IMPORTANTE] Este procedimento usa o Microsoft PowerShell. Você pode executar comandos do Microsoft PowerShell em qualquer servidor do farm. No entanto, deve usar o mesmo Shell de Gerenciamento do SharePoint para todos os comandos do Microsoft PowerShell neste procedimento, para que possa compartilhar referências de objeto do Microsoft PowerShell entre comandos.

Para adicionar uma réplica do índice

  1. Verifique se a conta do usuário que está executando esse procedimento é membro do grupo Administradores de Farm.

  2. Inicie o Shell de Gerenciamento do SharePoint em um dos servidores do farm.

  3. Inicie uma instância do serviço de pesquisa no servidor em que você deseja criar uma réplica do índice e crie uma referência ao Id da instância do serviço de pesquisa. No prompt de comando do Microsoft PowerShell, digite o(s) comando(s) a seguir:

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

    Onde:

    • $<host n> especifica a referência de objeto do PowerShell para a instância do serviço de pesquisa.

    • <Nome do servidor> especifica o servidor no qual você deseja acrescentar um componente de índice. A entrada tem de ser um GUID válido, no formulário 12345678-90ab-cdef-1234-567890bcdefgh; um nome válido de um servidor (por exemplo, myserver1 ); ou uma instância de um objeto SearchServiceInstance válido.

    Por exemplo:

    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    
  4. Espere até que a instância do serviço de pesquisa esteja em execução. No prompt de comando do Microsoft PowerShell digite o comando a seguir até que retorne o status Online:

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    
  5. Clone a topologia de pesquisa ativa. No prompt de comando do Microsoft PowerShell, digite o(s) seguinte(s) comando(s):

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
    
  6. Adicione um novo componente de índice e o associe a uma partição. No prompt de comando do Windows PowerShell, digite o(s) seguinte(s) comando(s):

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

    Em que:

    • $clone é a topologia clonada que você está alterando.

    • $<host n> é a referência de objeto do PowerShell à instância do serviço de pesquisa em execução no servidor ao qual pretende adicionar a réplica de índice.

    • <Index partition number> é o número da partição do índice existente, a partir da qual uma réplica está sendo criada. Por exemplo, para criar uma réplica de índice da partição do índice 0, escolha "0" como valor do parâmetro.

    Por exemplo:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostA -IndexPartition 0
    
  7. Ative a topologia do clone. No prompt de comando do Microsoft PowerShell, digite o(s) comando(s) a seguir:

    Set-SPEnterpriseSearchTopology -Identity $clone
    
  8. Verifique se sua nova topologia está ativa e se o componente de índice que representa a nova réplica de índice foi adicionada. No prompt de comando do Microsoft PowerShell, digite o(s) comando(s) a seguir:

    Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
    
  9. Monitore a distribuição do índice existente para a nova réplica. A réplica do índice adicionada terá o estado Degraded (Degradado) até que a distribuição esteja concluída. No prompt de comando do Microsoft PowerShell, digite o(s) comando(s) a seguir:

    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text
    

    Repita este comando até que todos os componentes de pesquisa, incluindo o novo componente de índice, exibam o estado Active (Ativo). Para um índice de pesquisa grande, este processo pode demorar várias horas.

Adicionar uma nova partição do índice

Ao adicionar uma nova partição do índice, o índice de pesquisa precisa ser reparticionado. Dependendo do tamanho do índice de pesquisa, este reparticionamento pode demorar várias horas para ser concluído.

Para adicionar uma partição do índice e reparticionar o índice de pesquisa, adicione um novo componente de índice à topologia de pesquisa e associe-o ao número da nova partição do índice. O processo de adicionar uma partição do índice e reparticionar o índice de pesquisa deve ser iniciado como um processo separado e não deve começar enquanto você estiver fazendo outras alterações na topologia de pesquisa.

Você deve adicionar o mesmo número de réplicas do índice das partições existentes à nova partição do índice.

Antes de adicionar uma nova partição do índice à topologia de pesquisa e de iniciar o reparticionamento do índice de pesquisa:

  • Faça um backup do aplicativo de serviço de Pesquisa e do índice de pesquisa existente. Veja Fazer backup de aplicativos de serviço de Pesquisa no SharePoint Server.

  • Certifique-se de que a topologia ativa atualmente esteja íntegra. Veja o estado da topologia de pesquisa na página Administração de Pesquisas na Administração Central ou execute o cmdlet Get-SPEnterpriseSearchStatusdo Microsoft PowerShell .

  • Certifique-se de que há espaço em disco suficiente disponível no servidor onde a partição do índice será adicionada.

Cuidado

[!IMPORTANTE] O aplicativo de serviço de Pesquisa será pausado durante o reparticionamento do índice e não poderá rastrear ou indexar conteúdo. Além disso, usuários não poderão executar consultas.

Para adicionar uma partição do índice

  1. Verifique se a conta do usuário que está executando esse procedimento é membro do grupo Administradores de Farm.

  2. Inicie o Shell de Gerenciamento do SharePoint em um dos servidores do farm.

  3. Inicie uma instância do serviço de pesquisa em todos os servidores onde você deseja adicionar uma réplica para a nova partição do índice. Crie uma referência de objeto do PowerShell para a instância do serviço de pesquisa usada posteriormente no procedimento. Para cada servidor, no prompt de comando do Microsoft PowerShell, digite o(s) comando(s) a seguir:

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

    Em que:

    • <host n> especifica a referência do objeto do PowerShell para a instância do serviço de pesquisa.

    • <Nome do servidor> especifica o servidor no qual você deseja acrescentar um componente de índice. A entrada tem de ser um GUID válido, no formulário 12345678-90ab-cdef-1234-567890bcdefgh; um nome válido de um servidor (por exemplo, myserver1 ); ou uma instância de um objeto SearchServiceInstance válido.

    Por exemplo:

    $hostC = Get-SPEnterpriseSearchServiceInstance -Identity "myserver3"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostC
    $hostD = Get-SPEnterpriseSearchServiceInstance -Identity "myserver4"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostD
    
  4. Espere até que as instâncias do serviço de pesquisa estejam em execução. Para cada servidor, no prompt de comando do Microsoft PowerShell, digite o comando a seguir até que retorne o status Online:

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    
  5. Clone a topologia de pesquisa ativa. No prompt de comando do Microsoft PowerShell, digite o(s) seguinte(s) comando(s):

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

    O comando cria uma topologia de pesquisa clone que pode ser referenciada com $clone e devolve informações sobre a topologia de clone. Anote o Id da topologia clone, caso seja necessário cancelar o processo de reparticionamento.

  6. Adicione uma nova partição do índice incluindo um ou mais componentes de índice e associe-os à nova partição do índice. É recomendável criar o mesmo número de réplicas do índice das partições existentes na nova partição. Para cada novo componente de índice, digite o(s) comando(s) a seguir no prompt de comando do Windows PowerShell:

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

    Em que:

    • $clone é a topologia clonada que você está alterando.

    • $<host n> especifica a referência de objeto do PowerShell para a instância do serviço de pesquisa.

    • <Index partition number> é o número da partição do índice sendo criada. Por padrão, você tem uma partição do índice, que é chamada de partição do índice 0. Se deseja criar uma nova partição do índice, insira o valor do parâmetro IndexPartition 1, seguido por 2, 3 e assim por diante.

    Por exemplo, se você tem uma partição do índice 0 com réplicas do índice no Host A e no Host B e deseja adicionar uma nova partição do índice com réplicas no Host C e no Host D:

    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostC -IndexPartition 1
    New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostD -IndexPartition 1
    
  7. Verifique se o aplicativo de serviço de Pesquisa está em execução. No prompt de comando do Microsoft PowerShell, digite os seguintes comandos:

    $ssa.IsPaused() -ne 0
    
    • Se o comando retornar False, o aplicativo de serviço de Pesquisa está em execução. Continue com a etapa 9.

    • Se o comando retornar True, o aplicativo de serviço de Pesquisa está pausado. Continue com a etapa 8.

  8. Se o aplicativo de serviço de Pesquisa estiver pausado, descubra o motivo e se você precisa esperar até que qualquer operação seja concluída antes de continuar com a etapa 9. Consulte Gerenciar um aplicativo de serviço de Pesquisa pausado no SharePoint Server para obter mais informações.

  9. Inicie a ativação da topologia clone. Este procedimento iniciará a ativação da topologia que inclui as novas réplicas associadas à nova partição do índice. Este procedimento iniciará o processo de reparticionamento do índice.

    Importante

    [!IMPORTANTE] O aplicativo de serviço de Pesquisa será pausado durante o reparticionamento do índice e não poderá rastrear ou indexar conteúdo. Além disso, usuários não poderão executar consultas. Você não poderá acessar a console do Windows PowerShell onde o comando de ativação estiver em execução.

    Observação

    [!OBSERVAçãO] A página Administração da Pesquisa na Administração Central não exibe se o aplicativo de serviço de Pesquisa foi pausado para o reparticionamento de índice. No entanto, como todos os componentes de processamento de consultas são suspensos quando o aplicativo de serviço de Pesquisa entra em pausa para o reparticionamento, a página de administração da Pesquisa exibirá erros para os componentes de processamento de consultas durante este processo.

    No prompt de comando do Windows PowerShell, digite os seguintes comandos:

    $ssa.PauseForIndexRepartitioning()
    Set-SPEnterpriseSearchTopology -Identity $clone
    
  10. Monitore o andamento do processo de reparticionamento do índice. Você pode monitorar o andamento do processo de reparticionamento somente nos principais componentes de índice da topologia existente. As etapas a seguir mostram como encontrar os principais componentes de índice.

    Observação

    [!OBSERVAçãO] Você não poderá executar quaisquer comandos no Shell de Gerenciamento do SharePoint existente até que a ativação da topologia, incluindo o processo de reparticionamento do índice, esteja concluído. Execute os comandos a seguir em um Shell de Gerenciamento do SharePoint secundário.

    • Inicie um segundo Shell de Gerenciamento do SharePoint.

    • Encontre a principal réplica do índice para cada uma das partições do índice existentes. No prompt de comando do Windows PowerShell do Shell de Gerenciamento do SharePoint secundário, digite o(s) comando(s) a seguir:

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

    O comando retorna uma lista de componentes de índice e suas propriedades. Anote os nomes dos principais componentes de índice. Estes são os componentes que possuem a propriedade Primary: True (Principal: Verdadeiro).

    Por exemplo, a saída poderia ser similar a esta. Neste exemplo, IndexComponent2 é o 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. Para cada componente de índice principal monitore o andamento do reparticionamento de índice. No prompt de comando do Windows PowerShell do Shell de Gerenciamento do SharePoint secundário, digite o(s) comando(s) a seguir:

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

    Em que:

    • <Index component name> é o nome do componente de índice principal cujo andamento você deseja monitorar, por exemplo IndexComponent2.

    Monitore a saída do comando para cada componente de índice principal. A saída do comando contém informações de progresso sobre o reparticionamento do índice.

    Durante a fase inicial do processo de reparticionamento de índice, a saída será similar a:

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

    As partições do índice são divididas durante a fase principal do processo de reparticionamento do índice. Durante esta fase, a saída será similar a:

    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
    

    O valor percentual na saída indica o progresso aproximado do processo de reparticionamento.

    Repita este comando para todos os componentes de índice principais até que a saída dos comandos não retorne mais qualquer valor. Isso significa que o processo de reparticionamento do índice foi concluído e que o índice reparticionado agora será replicado e distribuído entre os servidores. Este processo pode demorar várias horas.

  12. Monitore o andamento da distribuição do índice para as novas réplicas do índice. Para isso, verifique se sua nova topologia está ativa, e se todos os componentes de pesquisa estão íntegros. No prompt de comando do Windows PowerShell do Shell de Gerenciamento do SharePoint secundário, digite o(s) comando(s) a seguir:

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

    Durante a distribuição do índice para as novas réplicas, as réplicas adicionadas retornarão o estado Degraded (Degradado). A distribuição estará concluída quando todos os componentes de índice retornarem o estado Active (Ativo) na saída. Este processo pode demorar várias horas.

    Observação

    [!OBSERVAçãO] Os componentes de processamento de consultas estarão suspensos porque o aplicativo de serviço de Pesquisa está em pausa para o reparticionamento do índice. Na saída, os componentes de processamento de pesquisa serão listados com o estado Unknown (Desconhecido).

  13. No Shell de Gerenciamento do SharePoint usado para iniciar o processo de ativação da topologia, verifique se o comando de ativação da topologia está concluído.

  14. (Opcional) Reinicie o serviço do Controlador do Host de Pesquisa do SharePoint em todos os servidores que hospedavam componentes de índice (representando uma réplica do índice primária ou qualquer outra réplica do índice) antes do reparticionamento.

    Execute esta etapa para obter uma contagem de documentos correta e liberar memória depois do reparticionamento do índice de pesquisa. Se você decidir não executar essa etapa, demorará alguns dias e algumas iterações de indexação para que o uso de memória seja gradualmente reduzido e a contagem de documentos (conforme retornadas pelos cmdlets do PowerShell e na página Administração de Pesquisa na Administração Central) estar correta.

    Observação

    Para evitar interrupções de consultas, garanta que no mínimo um componente de índice retorne o estado Running (Em Execução) para cada partição do índice antes de reiniciar o serviço SharePoint Search Host Controller.

    Importante

    Não use os Serviços na página do Servidor no site da Web da Administração Central do SharePoint Server para reiniciar esse serviço.

    • Para reiniciar o SharePoint Search Host Controller, abra uma janela do prompt de comando em cada um dos servidores que hospedam componentes de índice para partições do índice existentes.

    • Para interromper o Controlador de Host de Pesquisa do SharePoint, digite o comando: net stop spsearchhostcontroller

    • Para reiniciar o Controlador de Host de Pesquisa do SharePoint, digite o comando: net start spsearchhostcontroller

  15. Reinicie o aplicativo de serviço de Pesquisa. No prompt de comando do Windows PowerShell, digite os seguintes comandos:

    $ssa.ResumeAfterIndexRepartitioning()
    

Cancelar o processo de reparticionamento

Se for necessário cancelar um processo de reparticionamento que esteja em andamento, use o procedimento a seguir.

Para cancelar o processo de reparticionamento

  1. Inicie um novo Shell de Gerenciamento do SharePoint no servidor em que o comando de ativação da topologia foi executado.

  2. Recupere o Id da topologia em ativação. No prompt de comando do Windows PowerShell, digite os seguintes comandos:

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

    Em que:

    • <Id of the activating topology> é a identidade (GUID) da topologia clone que você anotou ao clonar a topologia de pesquisa.
  3. Cancele a ativação da topologia. No prompt de comando do Windows PowerShell, digite os seguintes comandos:

    $activating.CancelTopologyActivation()
    

Remover um componente de índice

Se você possui mais de uma réplica do índice ativa para uma partição do índice, pode remover uma réplica executando o procedimento Remover um componente de pesquisa do artigo Gerenciar componentes de pesquisa no SharePoint Server.

Não é possível remover a última réplica do índice de uma partição do índice usando este procedimento. Se você precisa remover todas as réplicas de índice da topologia de pesquisa, deve remover e recriar o aplicativo de serviço de Pesquisa e criar uma topologia de pesquisa completamente nova, que tenha o número reduzido de partições do índice.

Mover um componente de índice

Se você deseja mover uma réplica do índice de um servidor para outro, é recomendável adicionar um novo componente de índice à topologia de pesquisa antes de remover o componente de índice antigo.

Para mover um componente de índice

  1. Adicione um novo componente de índice ao servidor para o qual deseja mover a réplica do índice. Clone a topologia de pesquisa, adicione uma nova réplica de índice, espere até que o índice seja replicado para a nova réplica e ative a topologia de pesquisa. Consulte Adicionar uma réplica do índice a uma partição do índice existente.

  2. Espere até que a nova réplica do índice esteja pronta para atender consultas. Veja o estado da topologia de pesquisa na página Administração de Pesquisas na Administração Central ou execute o cmdlet Get-SPEnterpriseSearchStatusdo Windows PowerShell . Antes de continuar, a réplica do índice adicionada deve estar Active (Ativa).

  3. Clone a topologia de pesquisa novamente.

  4. Remova a réplica do índice supérflua removendo o componente do índice. Consulte o procedimento Remover um componente de pesquisa no artigo Gerenciar componentes de pesquisa no SharePoint Server.

  5. Ative a topologia de pesquisa novamente.

Este procedimento garantirá a tolerância a falhas do índice de pesquisa enquanto você estiver movendo a réplica do índice.