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:
|
Texto |
Typedescriptor |
Especifica a matriz de struct usada pela pesquisa para anexos. Consiste das seguintes opções:
|
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.