Partager via


énumération IFILTER_INIT (filter.h)

[Le service d’indexation n’est plus pris en charge à partir de Windows XP et n’est pas disponible à partir de Windows 8. Utilisez plutôt Recherche Windows pour la recherche côté client et Microsoft Search Server Express pour la recherche côté serveur.]

Indicateurs qui contrôlent le processus de filtrage.

Syntaxe

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
Valeur : 1
Les sauts de paragraphe doivent être marqués avec le SÉPARATEUR DE PARAGRAPHE Unicode (0x2029).
IFILTER_INIT_HARD_LINE_BREAKS
Valeur : 2
Les retours souples, tels que le caractère newline dans Word, doivent être remplacés par des retours durs ? SÉPARATEUR DE LIGNE (0x2028). Les retours durs existants peuvent être doublés. Un retour chariot (0x000D), un flux de ligne (0x000A) ou le retour chariot et l’alimentation de ligne combinés doivent être considérés comme un retour dur. L’objectif est d’activer les correspondances d’expression de modèle qui correspondent aux sauts de ligne observés.
IFILTER_INIT_CANON_HYPHENS
Valeur : 4
Divers programmes de traitement de texte ont des formes de traits d’union qui ne sont pas représentés dans le jeu de caractères hôtes, tels que les traits d’union facultatifs (apparaissant uniquement à la fin d’une ligne) et les traits d’union non cassants. Cet indicateur indique que les traits d’union facultatifs doivent être convertis en valeurs null, et que les traits d’union non cassants doivent être convertis en traits d’union normaux (0x2010) ou EN TRAITS D’UNION-MINUSES (0x002D).
IFILTER_INIT_CANON_SPACES
Valeur : 8
Tout comme l’indicateur IFILTER_INIT_CANON_HYPHENS normalise les traits d’union, celui-ci normalise les espaces. Tous les espaces spéciaux, tels que les espaces non cassants, sont convertis en caractère d’espace standard (0x0020).
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES
Valeur : 16
Indique que le client souhaite que le texte soit divisé en blocs représentant des propriétés de type valeur interne.
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES
Valeur : 32
Toutes les propriétés non couvertes par les indicateurs IFILTER_INIT_APPLY_INDEX_ATTRIBUTES et IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES doivent être émises.
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES
Valeur : 256
Indique que le client souhaite que le texte soit divisé en blocs représentant des propriétés déterminées pendant le processus d’indexation.
IFILTER_INIT_INDEXING_ONLY
Valeur : 64
Optimise IFilter pour l’indexation, car le client appelle la méthode IFilter::Init une seule fois et n’appelle pas IFilter::BindRegion. Cela élimine la possibilité d’accéder à un segment avant et après l’accès à un autre segment.
IFILTER_INIT_SEARCH_LINKS
Valeur : 128
Le processus d’extraction de texte doit effectuer une recherche récursive dans tous les objets liés dans le document. Si un lien n’est pas disponible, l’appel IFilter::GetChunk qui aurait obtenu le premier segment du lien doit retourner FILTER_E_LINK_UNAVAILABLE.
IFILTER_INIT_FILTER_OWNED_VALUE_OK
Valeur : 512
Le processus d’indexation de contenu peut retourner des valeurs de propriété définies par le filtre.
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK
Valeur : 1024
TBD
IFILTER_INIT_DISABLE_EMBEDDED
Valeur : 2048
TBD
IFILTER_INIT_EMIT_FORMATTING
Valeur : 4096
TBD

Notes

En règle générale, la sortie du texte par la méthode IFilter::GetText doit correspondre exactement au texte réel du document. Toutefois, pour obtenir une interopérabilité maximale, une certaine normalisation des caractéristiques communes est souhaitable. Ces fonctionnalités incluent les sauts de paragraphe, les sauts de ligne, les traits d’union et les espaces. Les serveurs d’interface IFilter peuvent également incorporer des caractères null dans du texte, qui sont presque ignorés par les clients. Autrement dit, le 0x0000 de caractères Unicode est complètement ignoré et 0x0001 est traité comme un saut de mot.

Quatre indicateurs contrôlent la normalisation du texte : IFILTER_INIT_CANON_PARAGRAPHS, IFILTER_INIT_HARD_LINE_BREAKS, IFILTER_INIT_CANON_HYPHENS et IFILTER_INIT_CANON_SPACES.

Différents clients de l’interface IFilter veulent des vues différentes d’un objet. Trois indicateurs, IFILTER_INIT_APPLY_INDEX_ATTRIBUTES, IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES et IFILTER_INIT_APPLY_OTHER_ATTRIBUTES, contrôlent l’ensemble de propriétés qui doivent être appliquées aux blocs. En outre, des propriétés spécifiques peuvent être demandées dans les appels à la méthode IFilter::Init sous la forme d’un tableau de taille cAttributes, stocké dans unAttributes.

Les implémentations d’interface IFilter doivent stocker des informations de segment lorsque des opérations autres que l’indexation de contenu se produisent. IFILTER_INIT_INDEXING_ONLY optimise le filtre pour l’indexation.

À des fins d’affichage, il peut être souhaitable de rechercher dans les liens ainsi que dans le document et tous les objets qu’il incorpore. IFILTER_INIT_SEARCH_LINKS spécifie une recherche récursive dans tous les liens.

Certaines implémentations d’interface IFilter peuvent générer des valeurs de propriété pendant le processus d’indexation de contenu, et IFILTER_INIT_FILTER_OWNED_VALUE_OK indique qu’il est acceptable de retourner ces valeurs.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête filter.h

Voir aussi

Ifilter