Processo de notificações na Pesquisa do Windows
Este tópico é organizado da seguinte maneira:
- visão geral do processo de notificações
- rastreamentos
- Notificações Indexer-Managed
- Notificações Provider-Managed
- Notificações em conjuntos de linhas
- tópicos relacionados
Visão geral do processo de notificações
Há três abordagens pelas quais os dados do armazenamento de dados podem ser indexados:
- Rastreamentos
- Notificações gerenciadas pelo indexador
- Notificações gerenciadas pelo provedor
Os méritos de cada abordagem são descritos nas seções a seguir.
Rastreamentos
As fontes habilitadas para notificação fazem um rastreamento incremental na inicialização e, em seguida, dependem de notificações ou de um comando explícito para rastrear novamente. Isso acontece automaticamente no Windows Vista e posterior. Em sistemas operacionais anteriores ao Windows Vista, você deve configurar um evento agendado no Agendador de Tarefas que chama seu código para iniciar um rastreamento sobre sua página inicial. Você não precisa implementar nenhuma forma de notificações. Como um processo em segundo plano, o indexador percorre seu escopo de rastreamento, procurando alterações e atualizando o catálogo. Essa opção é recomendada para quase todas as situações.
Notificações de Indexer-Managed
Com as notificações gerenciadas pelo indexador, você implementa uma estratégia de notificação que notifica o indexador quando os dados no armazenamento de dados são alterados e o indexador gerencia o acompanhamento das notificações e a indexação dos dados. Nessa situação, o componente (que chamaremos de provedor de notificações) monitora o armazenamento de dados, coleta informações sobre alterações no repositório e notifica periodicamente o indexador com uma lista de itens que precisam de indexação. O indexador é responsável por recuperar e resolver notificações em caso de falha. Essa opção, que você pode considerar como a estratégia de "enviá-la e esquecê-la", reduz a frequência de rastreamentos do indexador.
Notificações de Provider-Managed
Com as notificações gerenciadas pelo provedor, você implementa uma estratégia de notificação semelhante à segunda abordagem, exceto que seu provedor de notificações deve acompanhar as notificações e é responsável por recuperar e resolver notificações em caso de falha. Nessa situação, seu provedor de notificações monitora o armazenamento de dados, coleta e mantém informações sobre alterações no repositório, notifica periodicamente o indexador com uma lista de itens que precisam de indexação, recebe atualizações de status do indexador e envia notificações novamente em caso de falha.
Nota
Essa opção não é recomendada, a menos que você espera que rastreamentos incrementais do armazenamento de dados dificultem significativamente o desempenho e você exija controle granular sobre ou insights sobre o status de indexação.
Notificações em conjuntos de linhas
No Windows 7 e posterior, o evento de indexação permite que os provedores recebam notificações sobre seus conjuntos de linhas. Os provedores que usam o evento de indexação podem manter seus conjuntos de linhas de maneira semelhante ao comportamento dos locais reais do sistema de arquivos. Bibliotecas e pesquisas são os principais exemplos de locais que não são do sistema de arquivos no Windows 7. O evento do indexador é para exibições de biblioteca, pois as notificações são para exibições de pasta de arquivo. A interfaceIRowsetEvents deve ser implementada para receber notificações de eventos. A camada de dados é o principal cliente de evento do indexador e decide o que fazer com os eventos na interface do usuário do Modo de Exibição de Itens. Para obter mais informações, consulte indexação de eventos de priorização e conjunto de linhas no Windows 7.
Por outro lado, no Windows Vista, exibições baseadas em consulta não têm nenhum evento associado, exceto o cache shell para edições de propriedade de arquivo. Quando você executa uma pesquisa, os resultados retornados são estáticos. Portanto, se outro documento for adicionado ao seu sistema que corresponda ao termo de pesquisa, seu modo de exibição não será atualizado para incluir a nova adição. Esse comportamento é padrão para resultados estáticos baseados na Web. No entanto, os resultados estáticos são menos aceitáveis quando você está tentando fornecer uma exibição baseada em consulta em um local de armazenamento. Os usuários esperam que o conteúdo do indexador seja atual. Para obter mais informações, consulte Notificando o índice de alterações. Para obter a documentação de referência, consulte Interfaces de Notificações.
Tópicos relacionados
-
indexação, consulta e notificações no de Pesquisa do Windows
-
Processo de Consulta no de Pesquisa do Windows