énumération STRUCTURED_QUERY_RESOLVE_OPTION (structuredquery.h)
Options de résolution des données dans une arborescence de conditions.
Syntax
typedef enum STRUCTURED_QUERY_RESOLVE_OPTION {
SQRO_DEFAULT = 0,
SQRO_DONT_RESOLVE_DATETIME = 0x1,
SQRO_ALWAYS_ONE_INTERVAL = 0x2,
SQRO_DONT_SIMPLIFY_CONDITION_TREES = 0x4,
SQRO_DONT_MAP_RELATIONS = 0x8,
SQRO_DONT_RESOLVE_RANGES = 0x10,
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 0x20,
SQRO_DONT_SPLIT_WORDS = 0x40,
SQRO_IGNORE_PHRASE_ORDER = 0x80,
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 0x100,
SQRO_ADD_ROBUST_ITEM_NAME = 0x200
} ;
Constantes
SQRO_DEFAULT Valeur : 0 Windows 7 et versions ultérieures. Indicateur par défaut. |
SQRO_DONT_RESOLVE_DATETIME Valeur : 0x1 Sauf si cet indicateur est défini, toute expression date/heure relative dans pConditionTree est remplacée par une plage de date/heure absolue qui a été résolue par rapport à la date/heure de référence pointée par pstReferenceTime. Par exemple, si une requête AQS contenait l’expression date/heure relative « date:ce mois » et que la date/heure de référence était le 19/9/2006 10:28:33, l’arborescence des conditions résolues contient une plage de date/heure commençant le 01/09/2006 00:00:00 et se terminant au 1/10/2006 00:00:00 (dans le fuseau horaire UTC). |
SQRO_ALWAYS_ONE_INTERVAL Valeur : 0x2 À moins que cet indicateur ne soit défini, la résolution d’une expression date/heure relative peut entraîner un OR de plusieurs intervalles. Par exemple, si une requête AQS contenait « date:Lundi » et que la date/heure de référence était le 19/09/2006 10:28:33 (un mardi), l’arborescence de condition résolue contiendrait un OR de trois plages de 24 heures correspondant aux lundis du 9/11/2006, 18/09/2006 et 25/09/2006, parce qu’il n’est pas clair quel lundi a été référencé. Si cet indicateur est défini, le résultat sera toujours une seule plage de date/heure (pour cet exemple, il s’agit d’une plage date/heure commençant au 18/09/2006 00:00:00 et se terminant au 19/09/2006 00:00:00). |
SQRO_DONT_SIMPLIFY_CONDITION_TREES Valeur : 0x4 À moins que cet indicateur ne soit défini, toutes les simplifications possibles seront appliquées à l’arborescence des conditions qui en résulte. |
SQRO_DONT_MAP_RELATIONS Valeur : 0x8 Sauf si cet indicateur est vrai, un nœud feuille avec une propriété virtuelle qui est mappée à plusieurs propriétés sera remplacé par un OR de nœuds feuilles contenant les propriétés réelles. Par exemple, la requête AQS « to:Bill » peut entraîner un nœud feuille où la propriété nommée System.StructuredQuery.Virtual.To correspond en fait aux deux propriétés et System.Message.ToName , de sorte que l’arborescence des conditions System.Message.ToAddress résolues aurait un OR qui recherche « Bill » dans ces deux propriétés. |
SQRO_DONT_RESOLVE_RANGES Valeur : 0x10 Une plage résultant d’une expression date/heure, une expression telle que « 20..40 », est d’abord résolue en nœud feuille qui a une valeur VT_UNKNOWN où le membre punkVal implémente l’interface IInterval . À moins que cet indicateur ne soit défini, l’arborescence de conditions retournée aura été résolue en un AND de comparaisons simples telles que COP_GREATERTHANOREQUAL et COP_LESSTHAN. Par exemple, pour une requête AQS « date:ce mois » résolue par rapport au 19/9/2006 10:28:33, si cet indicateur n’est pas défini, l’arborescence des conditions résultante est un AND de System.ItemDate COP_GREATERTHANOREQUAL 9/1/2006 00:00:00 et System.ItemDate COP_LESSTHAN 10/1/2006 00:00:00. Si cet indicateur est défini, l’arborescence des conditions résultante liera System.ItemDate à un IInterval de sorte que sa méthode IInterval::GetLimits retourne ILK_EXPLICIT_INCLUDED, 9/1/2006 00:00:00, ILK_EXPLICIT_EXCLUDED et 10/1/2006 00:00:00. |
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS Valeur : 0x20 Un mot clé sans restriction est un mot clé qui n’est pas associé à une valeur qui termine la condition. Par exemple, dans la requête AQS suivante, la propriété désignée par « From » est considérée comme une mot clé sans restriction : « Kind:email Subject:"My RESUME » From: ». Si cet indicateur est défini, une telle propriété sera présente dans l’arborescence des conditions résultante sous la forme d’un nœud feuille ayant une opération COP_IMPLICIT , une valeur de chaîne vide et un type sémantique System.StructuredQueryType.Value. Sinon, il sera entièrement supprimé. |
SQRO_DONT_SPLIT_WORDS Valeur : 0x40 Si cet indicateur est défini, un groupe de mots non séparés par des espaces blancs est conservé dans un nœud feuille unique. Si cet indicateur n’est pas défini, le groupe est divisé en nœuds feuilles distincts. Une application peut vouloir définir cet indicateur lors de la résolution d’une arborescence de conditions si l’arborescence résultante est traitée davantage par du code qui doit effectuer toute rupture de mot supplémentaire. |
SQRO_IGNORE_PHRASE_ORDER Valeur : 0x80 Si une expression d’une requête AQS est placée entre guillemets doubles, les mots de cette expression passent dans un nœud feuille unique (que SQRO_DONT_SPLIT_WORDS soit défini ou non), sauf si cet indicateur est défini, auquel cas ils se retrouvent dans des nœuds feuilles distincts et leur ordre n’a plus d’importance. Une application peut définir cet indicateur si elle n’est pas en mesure de gérer correctement les nœuds feuilles avec plusieurs mots. |
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES Valeur : 0x100 |
SQRO_ADD_ROBUST_ITEM_NAME Valeur : 0x200 Contourner les problèmes connus dans les disjoncteurs, en ajoutant des conditions sur PKEY_ItemNameDisplay si nécessaire. |
Remarques
Le type STRUCTURED_QUERY_RESOLVE_OPTION est défini dans StructuredQuery.h, comme illustré ici.
typedef int STRUCTURED_QUERY_RESOLVE_OPTION;
Configuration requise
Client minimal pris en charge | Windows XP avec SP2, Windows Vista, Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | structuredquery.h |
Composant redistribuable | Windows Desktop Search (WDS) 3.0 |