Partilhar via


Aprimorar o arquivo de modelo BDC para pesquisa no SharePoint

Saiba mais sobre as propriedades no modelo de metadados do BDC aplicáveis aos conectores de indexação BCS que permitem que o Search no SharePoint engate dados externos.

Propriedades de pesquisa para os arquivos de modelo BDC

A estrutura do conector em Pesquisa permite rastrear os dados externos, tornando-o disponível nos resultados de pesquisa por meio de conexões de indexação do BCS. O conector de indexação do BCS é usado pelo rastreador para se comunicar com a fonte de dados externa. Em tempo de rastreamento, o rastreador chama o conector de indexação do BCS para buscar os dados do sistema externo e passá-la novamente para o rastreador.

Conectores de indexação de BCS são compostos das seguintes opções:

Arquivo de modelo BDC O arquivo que fornece as informações de conexão para o sistema externo e a estrutura dos dados.

Conector O componente que contém o código que se conecta ao sistema externo e analisa o acesso identificadores de URLs e BCS.

O modelo de metadados do BDC inclui várias propriedades que são aplicáveis a Pesquisa, muitos dos quais são necessários para dar suporte ao conector de indexação BCS rastreamento.

A tabela a seguir descreve as propriedades do modelo BDC que são aplicáveis a Pesquisa.

Tabela 1. Propriedades de pesquisa para os arquivos de modelo BDC

Nome MetadataObject Descrição
ShowInSearchUI
Modelo
Especifica que um elemento LobSystemInstance no arquivo de modelo deve ser exibido na interface do usuário de pesquisa. Esse valor é ignorado para conectores personalizados.
InputUriProcessor
Lobsystem
Especifica o nome da classe que processa a URL de entrada antes de passá-la para o conector. Aplica-se ao .NET e conectores de indexação de BCS personalizado. Para obter mais informações, consulte Creating a Custom Indexing Connector.
OutputUriProcessor
Lobsystem
Especifica o nome da classe que processa a URL de saída antes de passar para o sistema de pesquisa do conector. Aplica-se ao .NET e conectores de indexação de BCS personalizado. Para obter mais informações, consulte Creating a Custom Indexing Connector.
SystemUtilityTypeName
Lobsystem
Especifica o nome da classe que implementa a classe StructuredRepositorySystemUtility. Aplica-se a indexação conectores BCS personalizado. Para obter mais informações, consulte Creating a Custom Indexing Connector.
Título
Entidade
Especifica o título do tipo de conteúdo externo para exibir nos resultados da pesquisa.
DefaultLocale
Entidade
Especifica a cadeia de caracteres de localidade. Você pode substituir esse valor usando a propriedade LCIDField ou a propriedade CultureField.
RootFinder
Método
Especifica o método Finder usar para enumerar os itens a serem rastreados. Por exemplo, ao se conectar a um banco de dados, isso poderia ser a instrução SELECT ou a lista de tabelas para rastrear.
DirectoryLink
Método
Especifica que o BCS deve navegar associações. Necessário para rastreamento hierárquico.
DeletedCountField
Método
Especifica o valor de count excluído. Essa propriedade é ignorada, a menos que ele contém um número inteiro maior que zero.
WindowsSecurityDescriptorField
Método
Especifica o descritor de segurança do Windows para o item. Se não especificado, o método GetSecurityDescriptor é chamado. Se o GetSecurityDescriptor não estiver definido, todos os itens externos recebem todos a lista de controle de acesso (ACL).
AuthorField
Método
Especifica o nome do autor para exibir nos resultados da pesquisa.
DisplayUriField
Método
Especifica a URL a ser exibido nos resultados da pesquisa. Se especificado, essa propriedade substitui a URL da página de perfil fornecida pelo BCS. Se não especificado, a URL exibida nos resultados da pesquisa começa com bdc3: / / e não é reconhecida pelo navegador.
LastModifiedTimeStampField
Método
Especifica o carimbo de hora do item externo para exibir nos resultados da pesquisa. Este valor também é usado para rastreamento incremental.
DescriptionField
Método
Especifica a descrição a ser exibido nos resultados da pesquisa.
LCIDField
Método
Especifica o ID local (LCID) para o DescriptionField. Se não for especificado, o separador de palavras padrão será usado.
CultureField
Método
Especifica a cultura para o DescriptionField.
Extensão
Método
Especifica a extensão de nome de arquivo para o fluxo de crawlable. Se não especificado, a extensão padrão é . txt.
Mimetype
Método
Especifica o tipo MIME para o fluxo de crawlable. Se não especificado, a extensão padrão é . txt. Se os campos Extension e MimeType forem especificados, o valor especificado no campo MimeType é usado.
UseClientCachingForSearch
Método
Especifica se o rastreador armazena em cache o conteúdo durante a enumeração. Se o conteúdo é armazenado em cache, o rastreador não fazer outra trip à fonte de conteúdo ao rastrear itens individuais.
EnumerateIdsOnly
Filterdescriptor
Especifica se é necessário retornar IDs somente no IDEnumerator.
CrawlStartTime
Filterdescriptor
Contém a hora de início do último rastreamento.
SincronizaçãoCookie
Filterdescriptor
Especifica que a fonte de conteúdo externa retorna um cookie após um rastreamento, o que é reenviado pelo conector de indexação durante a próxima chamada de enumeração. A fonte de conteúdo externa usa o cookie para determinar o que mudou desde o último rastreamento. Essa propriedade é usada com ChangedIDEnumerator e DeletedIDEnumerator instâncias de método.
Propriedade
Typedescriptor
Especifica a matriz de struct usada pela pesquisa para as propriedades. Consiste das seguintes opções:
  • PropertyName
  • Propertyvalue
  • PropertyCulture
Texto
Typedescriptor
Especifica a matriz de struct usada pela pesquisa para anexos. Consiste das seguintes opções:
  • TextExtension
  • TextContentType
  • TextValue

Alterações de arquivo de modelo BDC para melhorar o desempenho ao rastrear os dados externos

Quando você deseja criar um arquivo de modelo de BDC para um sistema externo que você deseja habilitar para pesquisa, você pode aprimorar o arquivo de modelo para otimizar o desempenho ao rastrear sistemas externos. Esta seção descreve maneiras de modificar o arquivo de modelo BDC para melhorar o desempenho.

Use a propriedade embutida e/s ao recuperar dados em larga escala

Em geral, se alguns dos dados retornados para um item for grande escala, em vez de retorná-lo com o método SpecificFinder, você deve usar um dos seguintes métodos especializados para recuperar os dados:

  • Use o método BinarySecurityDescriptorAccessor ao passar de uma lista de controle de acesso (ACL) segurança em vez da propriedade WindowsSecurityDescriptor.

  • Use o método StreamAccessor ao passar fluxos.

A menos que a latência de rede for alta, o desempenho aprimorado é geralmente melhor do que o custo de uma viagem extra para o sistema externo.

Otimização de enumeração durante o rastreamento de sistemas externos

Não enumere a mais de 100.000 itens por chamada para o sistema externo. Enumerações de longa execução podem causar interrupções intermitentes e impedem a conclusão de um rastreamento. Recomendamos que sua BDC modelo estruturas os dados em pastas lógicas que podem ser enumeradas individualmente, conforme mostrado no exemplo a seguir.

Este exemplo demonstra enumerando em relação a uma tabela de banco de dados com um milhão de linhas, mas com um conjunto fixo de valores em ColumnA. Neste cenário, você pode considerar ColumnA como o tipo de conteúdo externo e gravar um enumerador para este conjunto de valores usando a seguinte instrução SQL.


SELECT DISTINCT( ISNULL(ColumnA,'unknown')) as ColumnA  FROM table

Em seguida, defina o localizador específico usando a seguinte instrução SQL.

SELECT DISTINCT( ISNULL(ColumnA,'unknown')) as ColumnA  FROM table where ColumnA = @Value

Finalmente, você deve definir a operação de navegação de associação, da seguinte maneira.

Select * from table where ColumnA=@value

Qualquer método deve começar a retornar resultados dentro de dois minutos ou o rastreador cancelará a chamada. Por exemplo, uma instrução SQL complexa que usa uma cláusula LIKE pode demorar mais que dois minutos para ser concluída e fará com que o rastreador cancelar a chamada.

Melhorando a velocidade de rastreamento com a propriedade UseClientCachingForSearch

A propriedade UseClientCachingForSearch melhora a velocidade dos rastreamentos completos armazenando em cache o item durante a enumeração. O uso desta propriedade também é recomendável quando fizer a implementação de rastreamentos incrementais que se baseiam em alteração, pois ele melhora a velocidade de rastreamento incremental.

Importante: Se os itens forem maiores que 30 quilobytes em média, não defina essa propriedade, pois levará a um número significativo de erros de cache e negará ganhos de desempenho.

Segurança nos arquivos de modelo BDC

Se o repositório usa a autenticação NTLM, é recomendável que você especifique a autenticação PassThrough para rastreamento.

Páginas de perfil podem exigir que você use o Secure Store Service devido ao problema de delegação de vários saltos do servidor web front-end. Se você encontrar esse problema, você pode otimizar o rastreamento enquanto ainda permite páginas de perfil criando duas instâncias LobSystemInstance semelhante. A primeira instância deve usar credenciais de autenticação Secure Store Service. Esta instância não deveria conter a propriedade ShowInSearchUI. A segunda instância deve usar a autenticação PassThrough e deve conter a propriedade ShowInSearchUI. Páginas de perfil usam a primeira instância LobSystemInstance e o rastreador usa a segunda instância.

Observação

[!OBSERVAçãO] Isso requer que você defina a propriedade ShowInSearchUI no LobSystemInstance nível em vez de no nível do LobSystem.

Confira também