FindSearchFolders

Microsoft Exchange and Search Folders
Download

FindSearchFolders Ranking & Summary

Advertisement

  • Rating:
  • Publisher Name:
  • Dgoldman
  • Operating Systems:
  • Windows All
  • File Size:
  • 218 KB

FindSearchFolders Tags


FindSearchFolders Description

The Exchange search folders tend to be a very complicated subject for a lot of administrators. There are two different ways of filtering messages in MAPI - (Search folders and restrictions): - A search folder is like a regular MAPI folder, except that instead of containing real messages, it contains only links to messages in other folders which meet some specified restriction. A search folder is created by calling IMAPIFolder::CreateFolder with a folder type of FOLDER_SEARCH, followed by a call to IMAPIContainer::SetSearchCriteria to specify the search restriction and search domain. The search domain may be an arbitrary set of folders in the same store, and may be recursive, so that messages in any sub-folder of the specified domain folders are also searched. - A “restriction” is formed by calling IMAPITable::Restrict on a MAPI Table. The resulting table shows only the items which match the restriction specified in the Restrict call. A restricted contents table can show only messages from a single folder. This usage sometimes causes confusion with the MAPI-defined structure which describes the filter criteria for a search folder, which we also call a restriction. When Exchange has a larger search operation it will use the search queue. When a search event is issued against a search folder, we create a task and we enter that task into the databases search queue. The search queue is a Jet table and is a permanent part of the database. Each row in the search queue will represent a particular search event that was previously entered. For example “search folder ‘Inbox’ with respect to a search folder called ‘Dave’s Search Folder’, and create links for any messages which match”. When a search folder is created, or other operations occur which cause a search to be modified, the appropriate search events are added to the search. Once the transaction has been committed, Exchange will then call a function to start the search task operation. This will process the search events listed in the databases search queue. This is done so if the information store is shut down or crashes before the search is complete, the search event will still be in the search queue. When Exchange starts up, it will also call a function to start searching for any search tasks events in the search queue. When a restriction is started, the same search events are entered in the search queue as for a regular search folder. Rather than starting a separate background task to actually perform the search, restrictions process the search events immediately on the RPC thread before returning. Having a ton of search folders will impact an exchange servers performance. When messages are created, modified, or deleted, all of the search folders linked will be updated immediately, within the same transaction as the original message operation. Since all search folders are updated in one big transaction, all search folders need to be locked before the transaction begins. When the exchange server starts to process batches of transactions it will begin to use up the stores Version Store cache to process these transactions. The FindSearchFolders application was developed to be a small tool that will allow you to take an isinteg.pri file and search through it to look for users that have a very high amount of search folders.


FindSearchFolders Related Software