Compartilhar via


Processamento de conteúdo personalizado através do texto explicativo do serviço Web de enriquecimento de conteúdo

Saiba mais sobre a chamada do serviço Web de enriquecimento de conteúdo no SharePoint que permite que os desenvolvedores criem um serviço Web externo para modificar propriedades gerenciadas para itens rastreados durante o processamento de conteúdo.

A pesquisa no SharePoint permite que os usuários modifiquem as propriedades gerenciadas de itens rastreados antes de serem indexados chamando para um serviço Web de enriquecimento de conteúdo externo. A capacidade de modificar as propriedades gerenciadas para itens durante o processamento de conteúdo é útil ao executar tarefas como a limpeza de dados, extração de entidade, classificação e marcação.

Content enrichment within content processing

Figura 1. Content enrichment within content processing

A Figura 1 mostra uma parte do processo que acontece no componente de processamento do conteúdo. O serviço web de enriquecimento de conteúdo é um serviço baseado em SOAP que você pode criar para receber um texto explicativo de cliente de serviço web dentro do componente de processamento de conteúdo. Com base na Figura 1, o cliente do serviço Web refere-se ao operador de Enriquecimento de Conteúdo dentro do componente de processamento de conteúdo; o serviço Web refere-se ao serviço Web SOAP que você implementa. O serviço Web recebe uma carga configurável do componente de processamento de conteúdo. Em seguida, a resposta resultante do serviço da web é mesclada no item do rastreada antes de ser adicionado ao índice de pesquisa.O cliente do serviço web funciona com as propriedades gerenciadas que você pode configurar como propriedades de entrada ou como propriedades de saída. Propriedades de entrada são enviadas para o serviço web. Propriedades de saída são retornadas pelo serviço web. Determinadas propriedades gerenciadas estão ocultos ou são somente leitura e não podem ser enviadas para o serviço da web ou recebidas do serviço da web. Consulte Como listar todas as propriedades gerenciadas somente leitura para o serviço Web de Enriquecimento de Conteúdo para obter informações sobre como verificar quais propriedades gerenciadas são somente leitura.

Importante

[!IMPORTANTE] A etapa de texto explicativo de enriquecimento de conteúdo só pode ser configurada com um ponto de extremidade de serviço da web único. Qualquer tipo de tolerância a falhas ou recursos para dar suporte a várias implementações de roteamento deve ser manipulado pelo desenvolvedor implementar o serviço web. Além disso, o desenvolvedor pode ter vários implementações de serviço da web hospedadas nos pontos de extremidade diferentes; No entanto, a qualquer momento determinado, apenas um desses pontos de extremidade pode ser usado na configuração.

Contrato de serviço web de enriquecimento de conteúdo

O cliente do serviço web é um cliente RPC SOAP (versão 1.1) com um comportamento predefinido. O contrato de serviço web possui as seguintes características:

  • O componente de processamento do conteúdo envia uma chamada de SOAP RPC para um ponto de extremidade configurável via HTTP.
  • A carga contém uma matriz de objetos property.
  • O serviço web executa alguma lógica personalizada na matriz de objetos property e retorna uma matriz de objetos property novos ou modificados.
  • O serviço da web deve enviar uma resposta para o cliente do serviço web dentro de um determinado timeout.
  • Nenhum mecanismos de autenticação ou criptografia específicos são suportados como parte do contrato. No entanto, você pode aplicar sua própria segurança no mecanismo de transporte.

Configurando o cliente de serviços da web de enriquecimento de conteúdo

Para configurar o cliente do serviço web, você deve usar os cmdlets de Windows PowerShell a seguir:

A tabela 1 lista as propriedades que você pode configurar através dos cmdlets Windows PowerShell mencionados anteriormente.

Tabela 1. Propriedades configuráveis para o cliente usando cmdlets Windows PowerShell

Propriedade de configuração Descrição Valor padrão
Endpoint Especifica a URL do serviço web externo. Esvaziar
InputProperties As propriedades gerenciadas que recebe o serviço web externo. Esvaziar
OutputProperties As propriedades gerenciadas que retorna o serviço web externo. Esvaziar
Timeout A quantidade de tempo até que os tempos de serviço web a saída em milissegundos. Dependendo de FailureMode, o item falha a serem processados ou um aviso que é gravado no log ULS. 5000 milissegundos; Intervalo válido [100, 30000].
SendRawData Habilita ou desabilita o envio de dados brutos para o serviço web. Falso.
MaxRawDataSize O tamanho máximo dos dados brutos enviados para o serviço web em kilobytes (KB). Se os dados binários de um item excederem esse limite, o item não será enviado. Isso não impede que os InputProperties sejam enviados e o OutputProperties seja recebido. 5120 quilobytes.
FailureMode Controla o comportamento do cliente do serviço web quando ocorrem erros. Quando FailureMode estiver definido como ERROR, quaisquer problemas que ocorrem durante o processamento de enriquecimento de conteúdo enviam um retorno de chamada com falha para esse item. Quando FailureMode estiver definido como WARNING, o item está indexado, sem quaisquer modificações pelo serviço da web e um aviso que é gravado no log ULS. Erro
Debugmode Um modo que, quando definido como true permite que o cliente de enriquecimento de conteúdo enviar propriedades gerenciadas tudo para o cliente sem esperar todas as propriedades de retorno. Qualquer propriedade configurado Trigger, a propriedade InputProperties e a propriedade de OutputProperties são ignorados. Falso.
Trigger Um predicado Boolean que é executado em cada item rastreado. Se o predicado avalia true, o registro é enviado para o serviço web. Caso contrário, o item é passado para o índice de pesquisa. Esvaziar

Como listar todas as propriedades somente leitura gerenciadas para o serviço web de enriquecimento de conteúdo

Determinadas propriedades gerenciadas são somente leitura e não podem ser saídas do serviço da web. Essas propriedades podem ser listadas usando os cmdlets Get-SPEnterpriseSearchServiceApplication e Get-SPEnterpriseSearchMetadataManagedProperty Windows PowerShell mostrados no exemplo a seguir:

$ssa = Get-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $ssa  | ?{$_.IsReadOnly -or $_.MappingDisallowed -or $_.DeleteDisallowed}

Sobre as condições de gatilho para configurar o balão do serviço web

Uma condição de gatilho é uma expressão que é usada para configurar o balão do serviço web. Se uma condição de disparador for avaliada como true, o cliente do serviço web executa um texto explicativo para esse registro. Se uma condição de disparador for avaliada como false, o cliente de serviços web não realiza um texto explicativo e passa o item rastreado para o índice de pesquisa. Como alternativa, se nenhuma condição de gatilho está configurada; todos os itens são enviados para o serviço web.

Condições de gatilho usam uma linguagem de expressão para referir-se os valores das propriedades gerenciadas. Você pode usar as funções e os operadores no idioma expressão para criar condições de gatilho simples ou complexa, para que você possa determinar quando se deve realizar um balão do serviço web.

Tabela 2 relaciona exemplos de condições de gatilho.

Tabela 2. Disparar exemplos de condição para configurar a chamada do serviço Web do Enriquecimento de Conteúdo

Expressão Descrição Requisitos
MP1 > 2 Retorna true se o valor da propriedade gerenciada denominada MP1 for maior que 2. MP1 deve ter um tipo numérico.
IsNull(MP2) Retorna true se a propriedade gerenciada chamada MP2 não estiver presente para o item rastreado ou é empty/null. MP2 pode ser de qualquer tipo.
MP2 e de StartsWith(MP1, "sample")! = 18 Retorna true se o valor na propriedade gerenciada MP1 começa com "sample" e o valor da propriedade gerenciada MP2 não é 18. MP1 deve ser do tipo string e MP2 deve ser um tipo numérico.
IsDay (MP1, 2009, 12, 24) Verifica se a propriedade gerenciada MP1 contém DateTime cair em 24 de dezembro de 2009. MP1 deve ser do tipo DateTime.

Consulte Sintaxe de expressões de gatilho no SharePoint para obter os elementos que podem ser usados em uma expressão de gatilho e uma lista de funções com suporte.

Implementar o serviço da web externos de enriquecimento de conteúdo

Para uma implementação básica, faça o seguinte:

  1. Inclua Microsoft.Office.Server.Search.ContentProcessingEnrichment.dll localizado em C:\\Program Files\\Microsoft Office Servers\\15.0\\Search\\Applications\\External em seu projeto como uma referência.
  2. Implemente IContentProcessingEnrichmentService como um serviço web.

Confira também