QueryString (QueryStringType)
The QueryString element contains a mailbox query string based on Advanced Query Syntax (AQS).
<QueryString/>
QueryStringType
The following sections describe attributes, child elements, and parent elements.
Attribute | Description |
---|---|
ResetCache |
Indicates that the cache should be reset. |
ReturnDeletedItems |
Indicates that deleted items should be returned. |
ReturnHighlightTerms |
Indicates that highlighted terms should be returned. |
None.
Element | Description |
---|---|
FindItem |
Defines a request to find items in a mailbox. The following is the XPath expression to this element: /FindItem. |
The QueryString element text value represents a mailbox query that is made by using a subset of Advanced Query Syntax (AQS). See the remarks section for information about the supported syntax options for query strings.
In Exchange Server 2010, this element is an XML schema string type. In versions of Exchange starting with Exchange Server 2013, including Exchange Online, the type for this element is QueryStringType. This change does not break any existing clients because it adds three new optional attributes.
The QueryString element excludes the use of EWS restrictions. AQS in EWS supports three types of restrictions: word phase restriction, date range restriction, and message type restriction. The following tables list the supported search properties for each restriction type.
Word phase restriction
Property | Example | Function |
---|---|---|
from |
From:Dean From:"Dean Halstead" |
Search items sent from Dean. Search items sent from Dean Halstead. The sender must be exactly "Dean Halstead". |
to |
To:Dean |
Search items sent to Dean. |
cc |
Cc:Dean |
Search for items with Dean on the Cc line. |
bcc |
Bcc:Dean |
Search for items with Dean on the Bcc line. |
Participants |
Participants:Dean |
Search for items with Dean in the To, Cc, or Bcc fields. |
Subject |
Subject:product Subject:(product development) Subject:"product development" |
Search for items with product in the subject. Search for items with product and development in the subject. |
Body Content |
Body:progress Content:progress |
Search for items with progress in the body. |
Attachment |
Attachment:report |
Search for items with report in the attachment file name or file body. |
(property is not specified) |
Product Development |
Search for items that contain both product and development in all word phase properties. |
Word phase restriction match is always case insensitive. Word phase restriction supports two match types: prefix match or exact match. Prefix match is the default match behavior. If you want exact match, use double quotes. For example, subject:"product" matches 'product' but not 'production' in the subject. Multiple words in double quotes restrict both word phases and their order. For example "win product" matches only 'win product', not 'win95 product' or 'product of win'. You can use an asterisk (*) to define a prefix match with order restricted. For example, "win product"* matches 'win95 product', 'windows production line' but not 'windows new product' or 'product of win'. You can search all messages sent from or to a domain. For example, from:"@hotmail.com" returns all messages sent from hotmail.com.
The following table describes date range restrictions.
Date range restriction
Property | Example | Function |
---|---|---|
Sent |
Sent:last week Sent:01/01/2001 Sent:01/01/2001..01/15/2001 |
Search items sent last week. Search items sent on January 1st, 2001. Search items sent between January 1st, 2001 and January 15th, 2001. |
Received |
Received:today Received:01/01/2001 |
Search items received today. Search items received on January 1st, 2001. |
The two dots (..) is a range operator. It can be used to define a range with a start and an end date. To specify a date, you can use relative dates. The following relative dates are supported:
Relative dates: Today, tomorrow, yesterday
Multiword relative dates: This week, next month, last week, past month, or coming year
Days: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
January, February, March, April, May, June, July, August, September, October, November, December
The following table describes message type restrictions.
Message type restriction
Property | Example | Function |
---|---|---|
Kind |
Kind:tasks |
Search all task items. |
AQS in EWS uses the Kind property to specify the message type. The Kind property can be used with the following item types:
email
meetings
tasks
notes
docs
journals
contacts
im
The following table describes grouping logical connectors.
Grouping logical connectors
Connector | Example | Function |
---|---|---|
AND |
Subject:product AND subject:development Subject:(product AND development) Subject:(product development) |
Search items with both product and development in the subject. |
OR |
Body:project OR body:proposal Body:(project OR proposal) |
Search items with either product or development in the body. |
NOT |
NOT body:proposal Body:(NOT proposal) |
Search messages without proposal in the body. |
AND is always the default connector. For example, subject:project AND body:proposal is the same as subject:project body:proposal. Logical connectors are case sensitive. For example, body:(project Or proposal) searches messages with 'project', 'or', and 'proposal' in the body instead of 'project' or 'proposal'. The plus symbol (+) is equivalent to AND. The hyphen symbol (-) is equivalent to NOT. For example, body:(project - proposal) searches messages with 'project' but without 'proposal' in the body.
The query string can also contain nonindexed properties for search. If the query string contains nonindexed properties, the search might perform an Exchange search on the indexed properties and a store search on the nonindexed properties.
The schema that describes this element is located in the IIS virtual directory that hosts Exchange Web Services.
The following example shows a request to search for messages in the Inbox with Autodiscover in the subject.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:Subject" />
</t:AdditionalProperties>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="1" Offset="0" BasePoint="Beginning" />
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="inbox" />
</m:ParentFolderIds>
<m:QueryString>subject:Autodiscover</m:QueryString>
</m:FindItem>
</soap:Body>
</soap:Envelope>
The following example shows a successful response to the request.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14"
MinorVersion="0"
MajorBuildNumber="639"
MinorBuildNumber="20"
Version="Exchange2010"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:FindItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RootFolder IndexedPagingOffset="1"
TotalItemsInView="5"
IncludesLastItemInRange="false">
<t:Items>
<t:Message>
<t:ItemId Id="AAMkADEzOTExYjJkLTYx" ChangeKey="CQAAABY" />
<t:Subject>How to use Autodiscover</t:Subject>
</t:Message>
</t:Items>
</m:RootFolder>
</m:FindItemResponseMessage>
</m:ResponseMessages>
</m:FindItemResponse>
</s:Body>
</s:Envelope>
Code | Name |
---|---|
Namespace |
http://schemas.microsoft.com/exchange/services/2006/messages |
Schema name |
Messages schema |
Validation file |
Messages.xsd |
Can be empty |
False |