Coluna de Pesquisa Exibe Itens Excluídos: Como Corrigir
🔍 WiseChecker

Coluna de Pesquisa Exibe Itens Excluídos: Como Corrigir

Ao usar uma coluna de pesquisa no SharePoint, você espera que ela mostre apenas itens válidos da lista de origem. Mas às vezes a coluna de pesquisa exibe itens que foram excluídos da lista de origem. Isso pode causar confusão para usuários que veem dados antigos ou irrelevantes em formulários, exibições e relatórios. A causa raiz é como o SharePoint gerencia o relacionamento entre a coluna de pesquisa e sua lista de origem: ele armazena o ID do item, não o texto do item, e quando o item de origem é excluído, o ID fica órfão. Este artigo explica por que isso acontece e fornece métodos passo a passo para remover ou ocultar essas entradas órfãs.

Principais Conclusões: Removendo Valores de Pesquisa Órfãos

  • Configurações da lista > Coluna de pesquisa > Impor comportamento de relacionamento: Defina como “Exclusão em cascata” ou “Restringir exclusão” para evitar que IDs órfãos apareçam.
  • Script PowerShell para excluir itens órfãos: Remove itens da lista de destino que referenciam itens de origem excluídos.
  • Coluna de pesquisa de site sem imposição: Faz com que itens órfãos apareçam; mude para uma coluna de pesquisa específica da lista para melhor controle.

ADVERTISEMENT

Por Que Itens Excluídos Ainda Aparecem em uma Coluna de Pesquisa

Uma coluna de pesquisa no SharePoint não armazena o valor de texto do item de origem. Em vez disso, ela armazena o ID inteiro interno do item na lista de origem. Quando você exclui um item da lista de origem, o SharePoint não atualiza automaticamente a coluna de pesquisa na lista de destino. A coluna de pesquisa ainda mantém o ID antigo. Quando o SharePoint renderiza a coluna de pesquisa, ele tenta encontrar o item de origem com esse ID. Se o item não existir mais, o SharePoint retorna o ID como um número simples, que parece uma entrada em branco ou quebrada. Em alguns casos, especialmente com colunas de site usadas como pesquisa, o SharePoint pode armazenar em cache o valor de texto antigo e continuar exibindo-o.

O comportamento depende de como a coluna de pesquisa foi criada. Uma coluna de pesquisa criada diretamente em uma lista (escopo da lista) pode ter configurações de imposição de relacionamento. Uma coluna de pesquisa criada como coluna de site (escopo do site) não suporta imposição de relacionamento. Pesquisas de coluna de site têm mais probabilidade de mostrar itens órfãos porque não há como instruir o SharePoint a excluir ou restringir o item de origem.

Imposição de Relacionamento em Pesquisas de Escopo de Lista

Ao criar uma coluna de pesquisa no nível da lista, você tem três opções em “Impor comportamento de relacionamento”:

  • Exclusão em cascata: Excluir um item de origem também exclui todos os itens na lista de destino que o referenciam. Isso remove completamente o valor de pesquisa órfão.
  • Restringir exclusão: O SharePoint impede que você exclua um item de origem se algum item de destino o referenciar. Isso mantém a coluna de pesquisa limpa.
  • Nenhum: Sem imposição. Excluir um item de origem deixa IDs órfãos na lista de destino. Este é o padrão para colunas de site.

Passos para Corrigir uma Coluna de Pesquisa que Exibe Itens Excluídos

Use o método que corresponde à sua situação. Se a coluna de pesquisa foi criada no nível da lista, a correção mais fácil é alterar a imposição de relacionamento. Se for uma coluna de site, você deve usar o PowerShell para limpar os itens órfãos.

Método 1: Alterar a Imposição de Relacionamento em uma Pesquisa de Escopo de Lista

  1. Abra as configurações da lista
    Vá para a lista que contém a coluna de pesquisa. Clique no ícone de engrenagem no canto superior direito e selecione “Configurações da lista.”
  2. Localize a coluna de pesquisa
    Na seção “Colunas,” clique no nome da coluna de pesquisa que exibe itens excluídos.
  3. Altere a imposição de relacionamento
    Role para baixo até a seção “Relacionamento.” Em “Impor comportamento de relacionamento,” selecione “Exclusão em cascata” ou “Restringir exclusão.” Clique em OK.
  4. Verifique a alteração
    Volte para a exibição da lista. Os itens órfãos podem ainda aparecer em linhas existentes até que você atualize manualmente a lista ou salve novamente esses itens. Para exclusão em cascata, você deve excluir o item de origem novamente para acionar a limpeza.

Método 2: Remover Itens Órfãos Usando PowerShell (Pesquisas de Coluna de Site)

Este método funciona para qualquer coluna de pesquisa, mas é necessário quando a pesquisa é uma coluna de site. Você precisa do SharePoint Online Management Shell ou do PnP PowerShell instalado.

  1. Conecte-se ao SharePoint Online
    Abra o PowerShell como administrador. Execute Connect-PnPOnline -Url "https://sualocacao.sharepoint.com/sites/seosite" -Interactive.
  2. Obtenha a lista de destino e a coluna de pesquisa
    Execute $list = Get-PnPList -Identity "NomeDaListaDestino" e $field = Get-PnPField -List $list -Identity "NomeDaColunaPesquisa".
  3. Encontre itens com valores de pesquisa órfãos
    Execute um script para iterar por todos os itens na lista de destino. Para cada item, verifique se o valor do campo de pesquisa aponta para um ID válido na lista de origem. Se o item de origem não existir, exclua o item de destino ou limpe o campo de pesquisa. Um exemplo completo de script está disponível no site de documentação da Microsoft.
  4. Exclua ou limpe os itens órfãos
    Use Remove-PnPListItem -List $list -Identity $item.Id para excluir o item de destino, ou defina o campo de pesquisa como nulo e atualize o item.

Método 3: Recriar a Coluna de Pesquisa como uma Coluna de Escopo de Lista

Se a coluna de pesquisa for uma coluna de site, você não pode impor o comportamento de relacionamento. A correção permanente é excluir a coluna de pesquisa de site e criar uma nova coluna de pesquisa de escopo de lista com as mesmas configurações.

  1. Remova a coluna de pesquisa de site da lista
    Nas configurações da lista, clique na coluna de pesquisa e selecione “Excluir.” Confirme a exclusão.
  2. Crie uma nova coluna de pesquisa de escopo de lista
    Clique em “Criar coluna” nas configurações da lista. Escolha “Pesquisa” como tipo de coluna. Defina a lista de origem e a coluna de origem. Em “Relacionamento,” selecione “Exclusão em cascata” ou “Restringir exclusão.”
  3. Mapeie os dados antigos para a nova coluna
    Use PowerShell ou uma edição rápida na exibição de planilha para copiar os valores de pesquisa da coluna antiga para a nova. Esta etapa é necessária apenas se você precisar preservar os dados existentes.

ADVERTISEMENT

Se a Coluna de Pesquisa Ainda Exibir Itens Excluídos Após a Correção

A coluna de pesquisa mostra texto antigo mesmo após o item de origem ser restaurado

O SharePoint armazena em cache o valor de texto de uma coluna de pesquisa. Se você restaurar um item de origem excluído, a coluna de pesquisa pode ainda exibir o texto antigo por até 24 horas. Para forçar uma atualização imediata, abra o item de destino no modo de edição, limpe o campo de pesquisa, salve, depois selecione novamente o valor correto e salve novamente.

Itens órfãos aparecem em exibições, mas não na lista

Isso acontece quando a coluna de pesquisa usa uma coluna de site e a exibição tem um filtro que oculta os itens válidos. Verifique as configurações da exibição e remova qualquer filtro que possa estar ocultando os valores de pesquisa válidos. Em seguida, use o PowerShell para excluir os itens órfãos.

Excluir o item de origem não aciona a exclusão em cascata

A exclusão em cascata só funciona se a coluna de pesquisa for de escopo de lista e a imposição estiver definida como “Exclusão em cascata.” Se você definir a imposição após os IDs órfãos já existirem, a exclusão em cascata não será aplicada retroativamente. Você deve excluir o item de origem novamente após alterar a imposição para acionar a limpeza.

Item Pesquisa de Escopo de Lista Pesquisa de Coluna de Site
Imposição de relacionamento Exclusão em cascata, Restringir exclusão ou Nenhum Apenas Nenhum
Exibe itens órfãos após exclusão da origem Apenas se definido como Nenhum Sempre
Método de correção Alterar configuração de imposição Limpeza com PowerShell ou recriar coluna
Risco de perda de dados Baixo se usar Restringir exclusão Alto se usar exclusão em cascata em uma coluna de site

Agora você pode identificar por que uma coluna de pesquisa exibe itens excluídos e aplicar a correção adequada. Para pesquisas de escopo de lista, altere a imposição de relacionamento para Exclusão em cascata ou Restringir exclusão. Para pesquisas de coluna de site, use o PowerShell para remover itens órfãos ou recrie a coluna como uma pesquisa de escopo de lista. Para evitar esse problema no futuro, sempre crie colunas de pesquisa no nível da lista e defina a imposição como Restringir exclusão. Isso mantém seus dados limpos sem excluir automaticamente itens relacionados.

ADVERTISEMENT