IFILTER_INIT enumeração (filter.h)

[O Serviço de Indexação não tem mais suporte a partir do Windows XP e não está disponível para uso a partir do Windows 8. Em vez disso, use a Pesquisa do Windows para pesquisa do lado do cliente e o Microsoft Search Server Express para pesquisa no lado do servidor.]

Sinalizadores que controlam o processo de filtragem.

Syntax

typedef enum tagIFILTER_INIT {
  IFILTER_INIT_CANON_PARAGRAPHS = 1,
  IFILTER_INIT_HARD_LINE_BREAKS = 2,
  IFILTER_INIT_CANON_HYPHENS = 4,
  IFILTER_INIT_CANON_SPACES = 8,
  IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
  IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
  IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 256,
  IFILTER_INIT_INDEXING_ONLY = 64,
  IFILTER_INIT_SEARCH_LINKS = 128,
  IFILTER_INIT_FILTER_OWNED_VALUE_OK = 512,
  IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 1024,
  IFILTER_INIT_DISABLE_EMBEDDED = 2048,
  IFILTER_INIT_EMIT_FORMATTING = 4096
} IFILTER_INIT;

Constantes

 
IFILTER_INIT_CANON_PARAGRAPHS
Valor: 1
As quebras de parágrafo devem ser marcadas com o SEPARADOR DE PARÁGRAFO Unicode (0x2029).
IFILTER_INIT_HARD_LINE_BREAKS
Valor: 2
Retornos suaves, como o caractere de nova linha em Word, devem ser substituídos por retornos rígidos? SEPARADOR DE LINHA (0x2028). Os retornos rígidos existentes podem ser duplicados. Um retorno de carro (0x000D), alimentação de linha (0x000A) ou retorno de carro e alimentação de linha em combinação devem ser considerados um retorno rígido. A intenção é habilitar correspondências de expressão-padrão que correspondam às quebras de linha observadas.
IFILTER_INIT_CANON_HYPHENS
Valor: 4
Vários programas de processamento de palavras têm formas de hifens que não são representadas no conjunto de caracteres de host, como hifens opcionais (aparecendo apenas no final de uma linha) e hifens não quebradores. Esse sinalizador indica que hifens opcionais devem ser convertidos em nulos e hifens sem interrupção devem ser convertidos em hifens normais (0x2010) ou HYPHEN-MINUSES (0x002D).
IFILTER_INIT_CANON_SPACES
Valor: 8
Assim como o sinalizador IFILTER_INIT_CANON_HYPHENS padroniza hifens, este padroniza espaços. Todos os caracteres de espaço especiais, como espaços sem quebra, são convertidos no caractere de espaço padrão (0x0020).
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES
Valor: 16
Indica que o cliente deseja que o texto seja dividido em partes que representam propriedades internas de tipo de valor.
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES
Valor: 32
Quaisquer propriedades não cobertas pelos sinalizadores IFILTER_INIT_APPLY_INDEX_ATTRIBUTES e IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES devem ser emitidas.
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES
Valor: 256
Indica que o cliente deseja que o texto seja dividido em partes que representam as propriedades determinadas durante o processo de indexação.
IFILTER_INIT_INDEXING_ONLY
Valor: 64
Otimiza o IFilter para indexação porque o cliente chama o método IFilter::Init apenas uma vez e não chama IFilter::BindRegion. Isso elimina a possibilidade de acessar uma parte antes e depois de acessar outra parte.
IFILTER_INIT_SEARCH_LINKS
Valor: 128
O processo de extração de texto deve pesquisar recursivamente todos os objetos vinculados no documento. Se um link não estiver disponível, a chamada IFilter::GetChunk que teria obtido a primeira parte do link deverá retornar FILTER_E_LINK_UNAVAILABLE.
IFILTER_INIT_FILTER_OWNED_VALUE_OK
Valor: 512
O processo de indexação de conteúdo pode retornar valores de propriedade definidos pelo filtro.
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK
Valor: 1024
TBD
IFILTER_INIT_DISABLE_EMBEDDED
Valor: 2048
TBD
IFILTER_INIT_EMIT_FORMATTING
Valor: 4096
TBD

Comentários

Em geral, a saída de texto pelo método IFilter::GetText deve corresponder exatamente ao texto real do documento. No entanto, para alcançar a interoperabilidade máxima, é desejável padronizar alguns recursos comuns. Esses recursos incluem quebras de parágrafo, quebras de linha, hifens e espaços. Os servidores de interface IFilter também podem inserir caracteres nulos no texto, que são quase ignorados pelos clientes. Ou seja, o caractere Unicode 0x0000 é completamente ignorado e 0x0001 é tratado como uma quebra de palavra.

Quatro sinalizadores controlam a padronização de texto: IFILTER_INIT_CANON_PARAGRAPHS, IFILTER_INIT_HARD_LINE_BREAKS, IFILTER_INIT_CANON_HYPHENS e IFILTER_INIT_CANON_SPACES.

Diferentes clientes da interface IFilter querem exibições diferentes de um objeto. Três sinalizadores, IFILTER_INIT_APPLY_INDEX_ATTRIBUTES, IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES e IFILTER_INIT_APPLY_OTHER_ATTRIBUTES, controlam o conjunto de propriedades que devem ser aplicadas a partes. Além disso, propriedades específicas podem ser solicitadas em chamadas para o método IFilter::Init como uma matriz de tamanho cAttributes, armazenada em aAttributes.

As implementações da interface IFilter precisam armazenar algumas informações de partes quando ocorrem operações diferentes da indexação de conteúdo. IFILTER_INIT_INDEXING_ONLY otimiza o filtro para indexação.

Para fins de exibição, pode ser desejável pesquisar entre links, bem como no documento e quaisquer objetos que ele insira. IFILTER_INIT_SEARCH_LINKS especifica a pesquisa recursiva de todos os links.

Determinadas implementações de interface IFilter podem gerar valores de propriedade durante o processo de indexação de conteúdo e IFILTER_INIT_FILTER_OWNED_VALUE_OK indica que não há problema em retornar esses valores.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho filter.h

Confira também

Ifilter