STRUCTURED_QUERY_RESOLVE_OPTION-Enumeration (structuredquery.h)

Optionen zum Auflösen von Daten in eine Bedingungsstruktur.

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
} ;

Konstanten

 
SQRO_DEFAULT
Wert: 0
Windows 7 und höher. Das Standardflag.
SQRO_DONT_RESOLVE_DATETIME
Wert: 0x1
Sofern dieses Flag nicht festgelegt ist, wird jeder relative Datums-/Uhrzeitausdruck in pConditionTree durch einen absoluten Datums-/Uhrzeitbereich ersetzt, der mit dem Von pstReferenceTime angegebenen Verweisdatum/-uhrzeit aufgelöst wurde. Wenn beispielsweise eine AQS-Abfrage den relativen Datums-/Uhrzeitausdruck "date:this month" enthielt und das Referenzdatum/die Referenzzeit 19.09.2006 10:28:33 war, die aufgelöste Bedingungsstruktur würde einen Datums-/Uhrzeitbereich enthalten, der am 1.9.2006 00:00:00:00 und am 10.1.2006 00:00:00 (in der UTC-Zeitzone) endet.
SQRO_ALWAYS_ONE_INTERVAL
Wert: 0x2
Sofern dieses Flag nicht festgelegt ist, kann das Auflösen eines relativen Datums-/Uhrzeitausdrucks zu einem OR mit mehreren Intervallen führen. Wenn beispielsweise eine AQS-Abfrage "date:Monday" enthält und das Referenzdatum/die Referenzzeit 19.09.2006 10:28:33 (dienstags) war, würde die aufgelöste Bedingungsstruktur einen OR mit drei 24-Stunden-Bereichen enthalten, die dem Montag vom 11.9.2006 entsprechen. 18.09.2006 und 25.09.2006, da nicht klar ist, auf welchen Montag verwiesen wurde. Wenn dieses Flag festgelegt ist, ist das Ergebnis immer ein einzelner Datums-/Uhrzeitbereich (in diesem Beispiel wäre es ein Datums-/Uhrzeitbereich, der am 18.9.2006 00:00:00 beginnt und am 19.9.2006 00:00:00:00 endet).
SQRO_DONT_SIMPLIFY_CONDITION_TREES
Wert: 0x4
Sofern dieses Flag nicht festgelegt ist, werden für die resultierende Bedingungsstruktur alle möglichen Vereinfachungen angewendet.
SQRO_DONT_MAP_RELATIONS
Wert: 0x8
Sofern dieses Flag nicht wahr ist, wird ein Blattknoten mit einer virtuellen Eigenschaft, die mehreren Eigenschaften zugeordnet ist, durch einen OR von Blattknoten ersetzt, der die tatsächlichen Eigenschaften enthält. Beispielsweise kann die AQS-Abfrage "to:Bill" zu einem Blattknoten führen, bei dem die Eigenschaft namens System.StructuredQuery.Virtual.To tatsächlich den beiden Eigenschaften System.Message.ToAddress und zugeordnet ist, System.Message.ToNamesodass die aufgelöste Bedingungsstruktur einen OR hat, der nach "Bill" in diesen beiden Eigenschaften sucht.
SQRO_DONT_RESOLVE_RANGES
Wert: 0x10
Ein Bereich, der sich aus einem Datums-/Uhrzeitausdruck ergibt, ein Ausdruck wie "20..40", wird zuerst in einen Blattknoten aufgelöst, der über einen VT_UNKNOWN Wert verfügt, in dem der PunkVal-Member die IInterval-Schnittstelle implementiert. Sofern dieses Flag nicht festgelegt ist, wurde die zurückgegebene Bedingungsstruktur weiter in ein AND mit einfachen Vergleichen wie COP_GREATERTHANOREQUAL und COP_LESSTHAN aufgelöst. Beispiel: Für eine AQS-Abfrage "date:this month", die für den 19.9.2006 10:28:33 aufgelöst wurde, wenn dieses Flag nicht festgelegt ist, ist die resultierende Bedingungsstruktur ein AND von System.ItemDate COP_GREATERTHANOREQUAL 1.9.2006 00:00:00:00 und System.ItemDate COP_LESSTHAN 10.1.2006 00:00:00:00. Wenn dieses Flag festgelegt ist, bezieht die resultierende Bedingungsstruktur System.ItemDate mit einem IInterval zusammen, sodass die IInterval::GetLimits-MethodeILK_EXPLICIT_INCLUDED zurückgibt, 1.9.2006 00:00:00, ILK_EXPLICIT_EXCLUDED und 10.1.2006 00:00:00.00.
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS
Wert: 0x20
Eine uneingeschränkte Schlüsselwort (keyword) ist eine Schlüsselwort (keyword), die nicht einem Wert zugeordnet ist, der die Bedingung abschließt. In der folgenden AQS-Abfrage wird beispielsweise die eigenschaft, die mit "From" bezeichnet wird, als uneingeschränkte Schlüsselwort (keyword) betrachtet: "Kind:email Subject:"My Resume" From:". Wenn dieses Flag festgelegt ist, ist eine solche Eigenschaft in der resultierenden Bedingungsstruktur als Blattknoten mit einem COP_IMPLICIT Vorgang, einem leeren Zeichenfolgenwert und einem semantischen Typ von System.StructuredQueryType.Value vorhanden. Andernfalls wird es vollständig entfernt.
SQRO_DONT_SPLIT_WORDS
Wert: 0x40
Wenn dieses Flag festgelegt ist, wird eine Gruppe von Wörtern, die nicht durch Leerzeichen getrennt sind, in einem einzelnen Blattknoten zusammengehalten. Wenn dieses Flag nicht festgelegt ist, wird die Gruppe in separate Blattknoten unterteilt. Eine Anwendung kann dieses Flag festlegen, wenn eine Bedingungsstruktur aufgelöst wird, wenn die resultierende Struktur durch Code weiter verarbeitet wird, der zusätzliche Wortbrüche ausführen soll.
SQRO_IGNORE_PHRASE_ORDER
Wert: 0x80
Wenn ein Ausdruck in einer AQS-Abfrage in doppelte Anführungszeichen eingeschlossen wird, gehen die Wörter in diesem Ausdruck in einen einzelnen Blattknoten (unabhängig davon, ob SQRO_DONT_SPLIT_WORDS festgelegt ist), es sei denn, dieses Flag ist festgelegt. In diesem Fall enden sie in separaten Blattknoten und ihre Reihenfolge spielt keine Rolle mehr. Eine Anwendung kann dieses Flag festlegen, wenn sie Blattknoten mit mehreren Wörtern nicht ordnungsgemäß behandeln kann.
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES
Wert: 0x100
SQRO_ADD_ROBUST_ITEM_NAME
Wert: 0x200
Umgehen Sie bekannte Probleme in Worttrennungen, und fügen Sie bei Bedarf Bedingungen für PKEY_ItemNameDisplay hinzu.

Hinweise

Der STRUCTURED_QUERY_RESOLVE_OPTION-Typ wird in StructuredQuery.h definiert, wie hier gezeigt.

typedef int STRUCTURED_QUERY_RESOLVE_OPTION;

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista, Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile structuredquery.h
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

CASE_REQUIREMENT