Estrutura de conector de pesquisa no SharePoint
Saiba mais sobre os conectores de indexação do SharePoint, a estrutura de conexão e como criar conectores personalizados de indexação BCS para pesquisar sistemas externos.
Disponibilizar conteúdo para pesquisa no SharePoint
A pesquisa no SharePoint oferece duas abordagens para o processamento de consultas a fim de retornar resultados de pesquisa: a pesquisa federada e o rastreamento de conteúdo.
Pesquisa federada Nesta abordagem, os resultados da pesquisa são retornados para conteúdo que não é rastreado por seu servidor de pesquisa. A consulta é encaminhada para um repositório de conteúdo externo, onde ela é processada pelo mecanismo de pesquisa desse repositório. O mecanismo de pesquisa do repositório, em seguida, retorna os resultados para o servidor de pesquisa. O servidor de pesquisa formata e renderiza os resultados a partir do repositório externo para exibir na página de resultados da pesquisa. Essa abordagem oferece as seguintes vantagens:
Você não precisa de nenhum requisito de capacidade adicional para o índice de conteúdo, porque o conteúdo não é rastreado pela Pesquisa no SharePoint.
Você pode tirar proveito do mecanismo de pesquisa de um repositório existente. Por exemplo, você pode criar uma federação para um mecanismo de pesquisa da Internet para pesquisar na web.
Você pode otimizar o mecanismo de pesquisa do repositório de conteúdo conjunto de conteúdo, que pode fornecer um melhor desempenho de pesquisa no conjunto de conteúdo específico do repositório.
Você pode acessar repositórios que são protegidos contra rastreamentos, mas que possam ser acessados por consultas de pesquisa.
Rastreamento de conteúdo Nesta abordagem, os resultados são retornados do índice de conteúdo do aplicativo de serviço de pesquisa com base em consulta do usuário. O índice de conteúdo contém conteúdo que é rastreado por aplicativo de serviço de pesquisa e inclui conteúdo de texto e metadados para cada item de conteúdo. Essa abordagem permite que você:
Classificar resultados por relevância.
Controle a freqüência com que o índice de conteúdo é atualizado.
Especifique quais metadados é rastreado.
Execute uma única operação de backup para o conteúdo rastreado.
Rastrear conteúdo com conectores de indexação no SharePoint
O rastreador usa conexões de indexação para acessar o conteúdo a ser rastreado. O conector de indexação é o componente que saiba como se conectar à fonte de conteúdo, o que será rastreado e como rastreá-lo. Em versões anteriores do SharePoint, elas eram conhecidas como manipuladores de protocolo, componentes que são baseados nas interfaces personalizados executando código C++ não gerenciado.
A pesquisa no SharePoint inclui uma estrutura de conector, introduzida no SharePoint Server 2010 e compilada no Serviços Corporativos de Conectividade (BCS) da Microsoft, que fornece uma abordagem mais simples para o desenvolvimento de conectores de indexação. Com a estrutura do conector, o rastreador usa os conectores de indexação baseados no BCS para rastrear conteúdo externo. O SharePoint usa conectores de indexação baseados no manipulador de protocolos e conectores de indexação do BCS para rastrear conteúdo.
A Figura 1 fornece uma visão geral de alto nível do histórico dos conectores de indexação do SharePoint.
Visão geral do BCS para Pesquisa no SharePoint
BCS é abrangente de ferramentas e infraestrutura que permite se conectar aos sistemas externos do SharePoint. A Figura 2 mostra um modo de exibição de alto nível da arquitetura do BCS, com as áreas relevantes para pesquisa realçado.
Figura 2. Arquitetura BCS incluindo Pesquisa
BCS faz a conexão com os dados externos, baseados na definição de tipo de conteúdo externo no repositório de metadados. O repositório de metadados contém as seguintes informações para um tipo de conteúdo externo:
Informações de conectividade Descreve como se conectar ao sistema externo.
Informações sobre a entidade Descreve a estrutura dos dados externos.
Operações Descreve os métodos usados para acessar os dados externos. No caso de bancos de dados e serviços da web, esses são os métodos suportados pelo sistema externo: instruções SQL para conectores de banco de dados e os métodos web para serviços web. Para .NET e conectores de indexação de BCS personalizados, esses são os métodos que são implementados no assembly connector, que é o componente DLL que você criar para o conector de indexação.
Essa informação é especificada no arquivo de modelo BDC do tipo de conteúdo externo. Para obter mais informações sobre modelos BDC e o que eles contêm, consulte Infraestrutura de Modelo do BDC.
Para obter detalhes sobre a arquitetura e a funcionalidade do BCS, consulte Visão geral dos Serviços de Conectividade Empresarial e Mecânica do Uso dos Serviços de Conectividade Empresarial.
Usar a estrutura do conector
Para rastrear os dados externos, você precisa adicionar um dos tipos de fonte de conteúdo que oferecem suporte a conexão a dados externos. Tabela 1 relaciona esses tipos de fonte de conteúdo.
Tabela 1. Tipos de fonte de conteúdo que dão suporte a conectores de indexação bcs
Tipo de fonte de conteúdo | Descrição |
---|---|
Dados de linha de negócio |
Use essa fonte de conteúdo para o banco de dados e web serviço BCS conexões de indexação. |
Repositório personalizado |
Use essa fonte de conteúdo para o .NET e conectores de indexação de BCS personalizado. |
A estrutura do conector permite que você crie BCS conectores de indexação para se conectar ao conteúdo externo que você deseja rastrear e incluir no índice de conteúdo. 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. O conector de indexação do BCS também analisa o acesso URLs compreendidos por pesquisa e os identificadores compreendidos por BCS conforme são transmitidas entre BCS e pesquisa durante o processo de rastreamento.
Conectores de indexação de BCS são compostos das seguintes opções:
Arquivo de modelo BDC O arquivo que fornece a estrutura dos dados e que fornece informações de conexão para o sistema externo.
O conector O componente que contém o código que se conecta ao sistema externo e analisa o acesso identificadores de URLs e BCS.
Para BCS baseados nos tipos de fonte de conteúdo de dados de linha de negócios de conectores de indexação, pesquisa inclui conectores internos, portanto, você precisa criar um arquivo de modelo BDC.
Para conexões de indexação BCS baseado nos tipos de fonte de conteúdo de repositório personalizado, você deve desenvolver um componente personalizado, além de um arquivo de modelo BDC para se conectar aos dados externos.
A Figura 3 mostra um modo de exibição de alto nível da arquitetura de estrutura do conector de pesquisa.
Figura 3. Search connector framework architecture
Conectores de indexação de BCS
O SharePoint suporta os seguintes tipos de BCS conectores de indexação:
Conector de banco de dados O SharePoint inclui um conector BCS predefinido que oferecem suporte para conexão aos bancos de dados, para que você possa criar um conector de indexação de BCS do banco de dados sem escrever código algum, basta criar o arquivo de modelo BDC para o conector.
Conector do WCF (serviços web) O SharePoint inclui um conector BCS predefinido que oferecem suporte para conexão com serviços da web, para que você possa criar um conector de indexação de BCS do serviço web sem escrever código algum, basta criar o arquivo de modelo BDC para o conector.
Observação
[!OBSERVAçãO] Embora não seja necessário escrever código para criar um conector para serviços da web, o serviço da web deve incluir métodos que fornecem a mesma funcionalidade que o conector de BCS .NET fornece, para passar os dados de negócios externos para BCS. Para obter informações sobre como criar um serviço Web, consulte Criando assemblies de conectividade do .NET e Serviços Web. Para obter exemplos de código, consulte Exemplo de pedidos ASP.NET Exemplo de Serviço Web e Exemplo de Exemplo de Serviço WCF.
Conector de BCS do .NET O SharePoint não inclui um conector BCS predefinido para conectores de .NET, portanto, além de dar criando um BDC modelar arquivo, você também deve criar um componente do .NET para o conector de indexação do BCS. Você deve implementar as operações estereotipadas necessárias para dar suporte ao rastreamento de dados e implementar métodos para analisar as URLs de acesso e os identificadores de BDC.
Conector personalizado BCS O SharePoint não inclui um conector BCS predefinido para conectores personalizados de .NET, além que além criando um arquivo de modelo BDC, você também deve criar um componente do .NET para o conector de indexação de BCS, da mesma maneira que você precisa para o conector de BCS .NET. Você deve implementar as operações estereotipadas necessárias para dar suporte a rastrear os dados e implementar métodos para o acesso de análise URLs e BDC identificadores. Você também deve implementar a interface ISystemUtility.
Como criar conectores de indexação de BCS
Ao desenvolver um conector de indexação do BCS se você estiver criando o arquivo de modelo BDC para o serviço de banco de dados e web indexing conectores, ou criando um arquivo de modelo BDC e o componente de conector BCS de codificação para .NET e conectores personalizados de indexação apenas você precisa considerar o seguinte:
Conectividade Como conectar-se para o repositório de dados externos, por exemplo, o endereço do servidor, o endereço IP ou o nome da instância do banco de dados. Também inclui as informações de autenticação usadas para conexão com o repositório de dados externos.
Estrutura do repositório Para ler os dados, o conector deve saber como o repositório é organizado. É enumerical hierárquico, ou ter atravessar links?
Rastreamentos incrementais Para reduzir a carga de desempenho no repositório de dados externos, forneça o conector a habilidade de realizar rastreamentos incrementais, além dos rastreamentos completos. Para isso, o conector deve reconhecer quais dados tem sido alterado desde o último rastreamento e poder rastrear somente os dados. Isso pode ser feito usando um rastreamento incremental baseado em timestamp ou um rastreamento de baseado em log de alteração. A abordagem que você implemente depende as APIs fornecidas pelo repositório e as metas de atualização para o conteúdo.
Protegendo dados Na maioria dos cenários, nem todos os dados está acessível a todos os usuários. É importante que isso também funciona com a pesquisa, para que quando um usuário procura usando a interface de pesquisa, o usuário possa ver apenas os resultados ele tem acesso. Isso significa que o conector deve saber como ler a segurança do sistema externo e traga essas informações relacionadas à segurança de volta durante o rastreamento para o índice. Por exemplo, você poderia implementar o armazenamento de tempo de rastreamento do Windows NT listas de controle de acesso (ACLs).
A tabela 2 descreve as operações estereotipadas que se aplicam quando você cria um conector de indexação do BCS para SharePoint.
Tabela 2. Operações estereotipadas do BCS compatíveis com a Pesquisa no SharePoint
Operação | Descrição |
---|---|
Localizador |
Operação de núcleo necessária ao criar um conector BCS. Esta operação recupera a lista de itens da fonte de conteúdo externa. Consulte Implementando um Localizador. |
SpecificFinder |
Operação de núcleo necessária ao criar um conector BCS. Esta operação recupera itens individuais da fonte de conteúdo externa. Consulte Implementando um SpecificFinder. |
ChangedIdEnumerator |
Necessário para implementar baseada em changelog rastreamentos incrementais. Consulte Implementando um ChangedIdEnumerator. |
DeletedIdEnumerator |
Necessário para implementar baseada em changelog rastreamentos incrementais. Consulte Implementando um DeletedIdEnumerator. |
BinarySecurityDescriptorAccessor |
Necessário para implementar a segurança em nível de item. Retorna o descritor de segurança para um item da fonte de conteúdo externa. Consulte Implementando um BinarySecurityDescriptorAccessor. |
StreamAccessor |
Necessário para habilitar o rastreamento de anexos da fonte de conteúdo externa. Retorna o anexo como um fluxo de dados. Consulte Implementando um StreamAccessor. |
Suporte à ferramentas de desenvolvimento de conectores de indexação BCS
O BCS fornece suporte à ferramenta para conectores BCS no SharePoint Designer e no Visual Studio.
Suporte à ferramenta SharePoint Designer para conectores BCS
SharePoint Designer fornece um conjunto limitado de recursos; Você pode usá-lo para criar BDC arquivos de modelo para tipos de conector BCS existentes, como banco de dados, serviço web e conectores de BCS .NET. Você também pode usá-lo para exportar os arquivos de modelo de BDC de um aplicativo de serviço BCS para outro aplicativo de serviço BCS.
Suporte à ferramenta Visual Studio para conectores BCS
Você pode usar Visual Studio para criar o componente para conectores de BCS .NET e conectores personalizados de BCS. Para conectores de BCS .NET, Visual Studio fornece o modelo de projeto de modelo de conectividade de dados corporativos, que inclui um conjunto de designers visuais e recursos de gerenciamento de código para que você possa criar mais facilmente, depurar e implantar o componente do .NET e o arquivo de modelo BDC associado para o conector de BCS .NET. Não há nenhum modelo de projeto correspondentes para os conectores personalizados de BCS.
Aprimoramentos de estrutura do conector do SharePoint
No SharePoint, a estrutura do conector suporta conectores BCS recuperando informações de declarações para o conteúdo armazenado em repositórios de dados externos personalizados.
Estrutura do conector do também fornece exceção melhor captura e o registro em log para ajudá-lo a solucionar problemas de erros encontrados durante o rastreamento de fontes de conteúdo usando conectores do BCS.