Retornando propriedades de um manipulador de filtro
As propriedades são extraídas de itens usando manipuladores de propriedade registrados ou usando filtros registrados para tipos de arquivo específicos. Um manipulador de filtro (uma implementação da interface IFilter ) pode interpretar o conteúdo de um tipo de arquivo de várias maneiras.
Este tópico é organizado da seguinte maneira:
Filtragem de propriedades
As práticas recomendadas para filtragem de propriedades são listadas na tabela a seguir.
Método | Descrição |
---|---|
IFilter::Init | Retorna a enumeração IFILTER_FLAGS . Se o IFILTER_FLAGS_OLE_PROPERTIES membro dessa enumeração estiver definido como um, o Windows Search usará as interfaces IPropertySetStorage e IPropertyStorage para enumerar e acessar propriedades de tipo de valor externo. |
IFilter::GetChunk | Retorna informações de um documento em "partes" com tipo de parte (texto ou valor), nome e localidade. Uma parte contém uma propriedade de documento. |
IFilter::GetText | Obtém uma propriedade de tipo de texto de uma parte. |
IFilter::GetValue | Obtém uma propriedade de tipo de valor de uma parte. |
A ilustração a seguir mostra um documento de exemplo. A propriedade DocTitle
de tipo de valor externo (obtida usando métodos das interfaces IPropertySetStorage e IPropertyStorage ) e a propriedade Book
de tipo de valor interno (obtida como resultado de uma implementação personalizada do IFilter ) descrevem o documento como um todo. As propriedades Contents
do tipo texto e Chapter
descrevem o conteúdo do documento. Ao processar este documento, o manipulador de filtro (uma implementação da interface IFilter ) identifica e extrai essas propriedades.
Limitações de tamanho da propriedade
Há duas limitações potenciais para o tamanho da propriedade:
- O tamanho máximo dos dados que a Pesquisa do Windows aceita por arquivo.
- O tamanho máximo por propriedade, conforme definido no arquivo de descrição da propriedade.
Atualmente, o Windows Search não usa o tamanho da propriedade definido ao calcular a quantidade de dados que aceita de um item. Em vez disso, o limite que a Pesquisa do Windows usa é o produto do tamanho do arquivo e o MaxGrowFactor
(tamanho do arquivo N * MaxGrowFactor) lido do registro. O padrão MaxGrowFactor
é quatro.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Gathering Manager
MaxGrowFactor
Consequentemente, se o tipo de arquivo tende a ser pequeno em tamanho total, mas tem propriedades maiores, a Pesquisa do Windows pode não aceitar todos os dados de propriedade que você deseja emitir. No entanto, você pode aumentar o MaxGrowFactor
para atender às suas necessidades.
Recursos adicionais
- O exemplo de código IFilterSample , disponível no GitHub, demonstra como criar uma classe base IFilter para implementar a interface IFilter .
- Para obter uma visão geral do processo de indexação, consulte O processo de indexação.
- Para obter uma visão geral dos tipos de arquivo, consulte Tipos de arquivo.
- Para consultar atributos de associação de arquivo para um tipo de arquivo, consulte PerceivedTypes, SystemFileAssociations e Application Registration.
- Para obter uma visão geral das propriedades e manipuladores de propriedades e uma lista de propriedades do sistema que você pode usar para seus formatos de arquivo, consulte Desenvolvendo manipuladores de propriedades para a Pesquisa do Windows.
Tópicos relacionados
Desenvolvendo manipuladores de filtro
Sobre manipuladores de filtro na Pesquisa do Windows
Práticas recomendadas para criar manipuladores de filtro na Pesquisa do Windows
Filtrar manipuladores que enviam com o Windows
Implementando manipuladores de filtro na Pesquisa do Windows