Outlook 2007 Beta Documentation - Full Text Search Query Support

Update: Support for these flags has been cut.

This is preliminary documentation for Outlook 2007 Beta 2. It does not apply to earlier versions of Outlook.

Full Text Search Query Support
Outlook 2007 introduces full text queries and wordwheel filtering. Store providers wishing to support these queries will need to support new restriction flags and expose their support in their PR_STORE_SUPPORT_MASK.

New Store Support Mask Flags
These flags are set by stores which support full text queries and wordwheel.

Definitions

 #define STORE_FULLTEXT_QUERY_OK ((ULONG) 0x02000000)

If the store provider sets this flag then clients, like Outlook, can use the new restriction flags like FL_PREFIX_ON_ANY_WORD or FL_PHRASE_MATCH.

 #define STORE_FILTER_SEARCH_OK  ((ULONG) 0x04000000)

If the store provider sets this flag then clients, like Outlook, may restrict the folder contents table when searching instead of using a search folder. This is to allow for faster search results for word wheel scenarios. Note that this flag will only be checked if STORE_FULLTEXT_QUERY_OK is also set. So, if the store provider doesn’t support full text search Outlook will not enable word wheel for that store.

Usage

These flags can be retrieved by getting the property PR_STORE_SUPPORT_MASK from the store.

New Restriction Flags

These flags are intended to be used for stores that have full text search support. The PST/OST provider will support these new flags in restrictions.

FL_PREFIX_ON_ANY_WORD: Will match prefix on words instead of the whole prop value. FL_PREFIX_ON_ANY_WORD can be combined with FL_SUBSTRING so the provider can default to substring matching if full text searching has not been enabled.

FL_PHRASE_MATCH: Phrase match means the words have to be exactly matched and the sequence matters. This is different than FL_FULLSTRING because it doesn't require the whole property value to be the same. One term matching another term in the property value is enough for a match even if there are more terms in the property. Word breaker characters will be ignored in the match. FL_PHRASE_MATCH can be combined with FL_SUBSTRING so the provider can default to substring matching if full text searching has not been enabled.

Definitions

 #define FL_PREFIX_ON_ANY_WORD     0x00000010
#define FL_PHRASE_MATCH       0x00000020

Usage

These new flags are used in a similar fashion to existing restriction flags in building restrictions. These flags are only supported on stores which have specified STORE_FULLTEXT_QUERY_OK in their PR_STORE_SUPPORT_MASK. Using these flags in stores that do not support them may cause restrictions to fail.

[edit - correcting flag name]