Platform SDK: Exchange 2000 Server |
[This is preliminary documentation and subject to change.]
You can create collections of items that are the results of a SQL search directly in the Web Store within a persisted search folder when using the HTTP/WebDAV protocol. Like other folders in the Web Store, persisted search folders are addressable using a Uniform Resource Locator (URL) and can be accessed and queried in the same manner as other folders. Using persisted search folders in the Web Store frees you from having to write your own code to save these search results for subsequent use by your clients.
The items stored within a persisted search folder are those items that exist within the folder scope and match the conditions you specify through an SQL SELECT statement when you create the search folder. That is, the folder does not contain copies of the items, but rather links to the items themselves. This is made possible through the Web Store’s single instancing technology.
Although persisted search folders are based upon a SQL SELECT statement, they provide a mechanism far more powerful than simply storing the results returned by a standard SQL SELECT command. Using persisted search folders, you can arbitrarily group items within a particular folder scope that match the criteria you specify and place them into another folder for subsequent searching or monitoring by your application. For example, one part of your application may need to routinely return various property values for all items with the hypothetical content class of urn:schemas-myorganization-tld:statusreport that exist within your application’s folder hierarchy which could be many levels deep. Rather than continuously executing a deep traversal search for the property values on such items that have this content class, you could instead create a persisted search folder for the application’s folder hierarchy with the condition that each matched item within the folder has the specified content class of urn:schemas-myorganization-tld:statusreport. Once the search folder is constructed, you could then routinely query the search folder to retrieve property values for these items only; because the Web Store SQL engine need not re-traverse the entire folder scope and re-filter these items, search performance is greatly improved.
The Web Store constructs persisted search folders asynchronously with respect to client requests. That is, when a successful creation request is made and the client receives this response from the service, not all items that match the SQL request have been linked to the persisted search folder. When the Web Store completes construction of the persisted search folder, the Web Store sets the folder's DAV:searchcomplete" property equal to "complete".
Persisted Search Folder Properties, Persisted Search Folder Items