Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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_PARAGRAPHSValeur : 1 Les sauts de paragraphe doivent être marqués avec le SÉPARATEUR DE PARAGRAPHE Unicode (0x2029). |
IFILTER_INIT_HARD_LINE_BREAKSValeur : 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_HYPHENSValeur : 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_SPACESValeur : 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_ATTRIBUTESValeur : 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_ATTRIBUTESValeur : 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_ATTRIBUTESValeur : 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_ONLYValeur : 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_LINKSValeur : 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_OKValeur : 512 Le processus d’indexation de contenu peut retourner des valeurs de propriété définies par le filtre. |
IFILTER_INIT_FILTER_AGGRESSIVE_BREAKValeur : 1024 TBD |
IFILTER_INIT_DISABLE_EMBEDDEDValeur : 2048 TBD |
IFILTER_INIT_EMIT_FORMATTINGValeur : 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 |