Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Gerenciador de Escopo de Rastreamento (CSM) permite que você adicione e remova raízes de pesquisa nos seus armazenamentos de dados dentro e fora do escopo de rastreamento do Windows Search.
Este tópico inclui os seguintes assuntos:
- Sobre raízes de pesquisa
- Antes de começar
- Windows 7: Nova API do Gerenciador de Escopo de Rastreamento
- Adicionando raízes ao escopo de rastreamento
- Removendo raízes do escopo de rastreamento
- Enumerando raízes no escopo de rastreamento
- tópicos relacionados
Sobre raízes de pesquisa
Uma raiz de pesquisa define a base de um namespace do Shell em que escopos específicos podem ser incluídos ou excluídos e geralmente é o contêiner de nível mais alto em um protocolo que pode ser enumerado. Ele não especifica quais partes deste repositório devem ou não ser indexadas; ele simplesmente sinaliza que um repositório de conteúdo existe e está associado a um manipulador de protocolo registrado. A sintaxe para identificar uma URL raiz de pesquisa inclui o protocolo, o identificador de segurança do repositório ou do usuário, o caminho e, opcionalmente, um item específico (como um arquivo). Os exemplos a seguir mostram duas formas da sintaxe de uma raiz de pesquisa.
<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]
O <segmento de protocolo> deve ser seguido por duas (2) barras diagonais ('/') a menos que seja o protocolo file:, que requer três barras diagonais (file:///). O <site ou o segmento SID> representa um repositório de conteúdo ou um identificador de segurança do usuário se a raiz da pesquisa deve ser específica para o usuário. O <segmento de caminho> é um conjunto de contêineres, como diretórios ou pastas, e pode incluir o caractere curinga '*'. O <segmento de item> é opcional e também pode incluir o caractere curinga '*'. Se você não incluir um item, certifique-se de concluir o segmento de caminho com uma barra ou o indexador assumirá que o último subcontenente é um item.
Por exemplo, suponha que você tenha implementado um myPH (manipulador de protocolo) para manipular arquivos do tipo *.myext para um aplicativo personalizado. Todos esses arquivos estarão localizados na pasta WorkteamA\ProjectFiles em um computador local. A raiz de pesquisa para isso pode ter esta aparência:
- myPH:///C:\WorkteamA\ProjectFiles\
Suponha que você esteja planejando incluir todos os arquivos .myext, mas nada mais desse contêiner no índice. A raiz de pesquisa para isso pode ter esta aparência:
- myPH:///C:\WorkteamA\ProjectFiles\*.myext.
Padrões curinga definem URLs usando o caractere curinga '*' e são considerados um padrão em vez de uma URL, mas a terminologia geralmente é usada de forma intercambiável. Por exemplo, file:///C:\ProjectA\*\data\ corresponderia às seguintes URLs:
- C:\ProjectA\version1\data\
- C:\ProjectA\version2\data\
Mas esse padrão não corresponderia a esta URL:
- C:\ProjectA\version1\temp\data\
Você deve criar novas raízes de pesquisa para contêineres que ainda não estão no escopo de rastreamento do indexador. Se o caminho C:\ParentScope já estiver incluído no escopo de rastreamento, você não precisará adicionar uma nova raiz de pesquisa para C:\ParentScope\ChildScope, a menos que você saiba que o escopo filho foi excluído anteriormente.
A interface do usuário para definir as opções de Pesquisa do Windows exibe raízes de pesquisa para os usuários para que eles possam refinar as regras de escopo para suas pesquisas. Como parte do processo de instalação para seu manipulador de protocolo personalizado, contêiner e/ou aplicativo, você pode definir um escopo de rastreamento padrão, com regras de inclusão e exclusão. Essas regras são apresentadas aos usuários finais como localizações. Os usuários podem navegar dentro dos subdiretórios da raiz de pesquisa predefinida e selecionar os que desejam incluir nas pesquisas ou limpar os que desejam excluir.
Antes de começar
Antes de usar qualquer uma das interfaces do Gerenciador de Escopo de Rastreamento (CSM), é preciso executar as seguintes etapas preliminares:
- Crie o objeto CrawlSearchManager e obtenha sua interface ISearchManager .
- Chame ISearchManager::GetCatalog para "SystemIndex" para obter uma instância de uma interface ISearchCatalogManager .
- Chame ISearchCatalogManager::GetCrawlScopeManager para obter uma instância da interface ISearchCrawlScopeManager .
Depois de fazer alterações no CSM (Gerenciador de Escopo de Rastreamento), você deve chamar ISearchCrawlScopeManager::SaveAll. Esse método não usa parâmetros e retorna S_OK com êxito.
Windows 7: nova API do Gerenciador de Escopo de Rastreamento
No Windows 7 e posterior, ISearchCrawlScopeManager2 estende a funcionalidade da interface ISearchCrawlScopeManager . O método ISearchCrawlScopeManager2::GetVersion obtém a versão do CSM (Crawl Scope Manager), que informa aos clientes se o estado do CSM foi alterado. ISearchCrawlScopeManager2::GetVersion não resulta em uma chamada entre processos distintos. Se a função for bem-sucedida, o ponteiro retornado permanecerá válido até que o cliente chame UnmapViewOfFile no ponteiro e CloseHandle no identificador retornado.
Adicionando pontos de origem ao escopo de rastreamento
O ISearchCrawlScopeManager informa ao mecanismo de pesquisa sobre contêineres para rastrear e/ou observar e itens nesses contêineres para incluir ou excluir. Para adicionar uma nova raiz de pesquisa, instancie um objeto ISearchRoot , defina os atributos raiz e, em seguida, chame ISearchCrawlScopeManager::AddRoot e passe um ponteiro para o objeto ISearchRoot . A URL raiz de pesquisa usa a mesma forma que a raiz de pesquisa descrita anteriormente.
A tabela a seguir descreve os métodos de put relevantes para ISearchRoot; Os outros métodos put da interface não são usados atualmente pela Pesquisa do Windows. É recomendável incluir os SIDs (Identificadores de Segurança) dos usuários em todas as raízes para melhorar a segurança. As raízes por usuário são mais seguras à medida que as consultas são executadas em um processo por usuário, garantindo que um usuário não possa ver itens indexados da caixa de entrada de outro usuário, por exemplo.
| Método | Description |
|---|---|
| definir_OfereceNotificações | Configure para TRUE se um manipulador de protocolo ou outro aplicativo notificará o mecanismo de pesquisa sobre as alterações nas URLs na raiz da pesquisa. A notificação indica que as URLs precisam ser reindexados. |
| put_RootURL | Define a URL raiz da pesquisa atual. A URL usa o formulário raiz de pesquisa descrito anteriormente. |
Por padrão, o indexador não rastreia um escopo quando você adiciona uma raiz de pesquisa. Você também deve adicionar uma regra de inclusão para a raiz. Se você quiser adicionar um diretório raiz específico de usuário para um aplicativo, esse aplicativo deverá definir os diretórios raiz apropriados para novos usuários ao iniciar o aplicativo.
Para adicionar as raízes apropriadas para novos usuários:
- Obtenha o SID do usuário.
- Enumera todas as raízes para verificar se existe uma para esse SID.
- Adicione uma nova raiz, usando o SID, se necessário.
Removendo raízes do escopo de rastreamento
Você pode usar ISearchCrawlScopeManager para remover uma raiz do escopo de rastreamento quando não quiser mais que essa URL seja indexada. Remover uma raiz também exclui todas as regras de escopo para essa URL. Por exemplo, suponha que você queira desinstalar um repositório de conteúdo e/ou seu manipulador de protocolo de um sistema. Você pode desinstalar o aplicativo, remover todos os dados e, em seguida, remover a raiz de pesquisa do escopo de rastreamento. O Gerenciador de Escopo de Rastreamento removerá a raiz e todas as regras de escopo associadas a ela.
Para remover uma raiz de pesquisa existente, chame ISearchCrawlScopeManager::RemoveRoot com a raiz de pesquisa que você deseja remover. A URL raiz de pesquisa usa a mesma forma que a raiz de pesquisa descrita anteriormente. Esse método retornará S_FALSE se a raiz não for encontrada e um código de erro se houver um erro removendo uma raiz que foi encontrada.
A remoção de uma raiz de busca também remove o endereço URL da interface para opções de Pesquisa do Windows, portanto, os usuários podem não conseguir adicionar novamente esse contêiner ou local usando a interface. Também é possível remover todas as substituições definidas pelo usuário de uma raiz de pesquisa e reverter para a raiz de pesquisa e regras de escopo originais. Para obter mais informações, consulte Gerenciando regras de escopo.
Observação
No Windows Vista, se os usuários forem removidos por meio de Perfis de Usuário no Painel de Controle, o CSM removerá todas as regras e raízes com seu SID e removerá seus itens indexados do catálogo. No Windows XP, você precisa remover as raízes e as regras dos usuários manualmente.
Enumerando raízes no escopo de rastreamento
O CSM enumera raízes de pesquisa usando uma interface de enumerador de estilo COM padrão, IEnumSearchRoots. Você pode usar essa interface para enumerar raízes de pesquisa para várias finalidades. Por exemplo, talvez você queira exibir todo o escopo de rastreamento em uma interface do usuário ou descobrir se uma raiz específica ou algum filho de uma raiz já está no escopo de rastreamento.
Tópicos relacionados
-
Referência
-
Conceitual