Coveo Knowledge Base – Information Article – 060330-1
CES4-060330-1: Exchange Server Sources Custom Fields
The information in this technical note applies to:
Coveo Enterprise Search 4
Coveo Enterprise Search can index MAPI, Microsoft Exchange Server and user-defined properties as custom fields. This article lists MAPI properties and MAPI property types. It also explains how to handle custom field for Exchange Server sources.
The system administrator can index Exchange item MAPI properties as custom fields. For instance, the PR_LAST_MODIFIER_NAME property of a message (the name of the last user who modified the message) can be indexed as the modifiername custom field. Then, the following query:
@modifiername=John
Finds email messages containing "John" in the modifiername field. Thus, all email messages found will have been last modified by a user named John.
For the example, we used the following properties:
|
Name |
modifiername |
Name of the custom field to use for queries. |
|
Type |
String |
PR_LAST_MODIFIER_NAME is a PT_TSTRING property (as seen in the MAPI documentation). |
|
Metadata Name |
pr_last_modifier_name |
Name of the MAPI property to get. |
Here is a list of MAPI property types and the corresponding custom field types.
|
PT_STRING8 PT_TSTRING PT_UNICODE |
String |
|
PT_I2 PT_LONG PT_BOOLEAN PT_I8 |
Numeric |
|
PT_APPTIME PT_SYSTIME |
Date |
|
PT_R4 PT_DOUBLE |
Floating Point Number |
Multivalued properties are also supported. String properties are concatenated (though space separated). For example, if the property PR_AUTHOR_COMPANIES contains the three following values: MakeUp Inc, WebStartup and Coveo. When the property is indexed, the custom field contains the value: MakeUp Inc WebStartup Coveo.
With other multivalued property types, only the first value will be kept and defined as the value of the property. For example, if the property PR_AUTHOR_CODES contains the three following values: 18923, 84726 and 28172. When the property is indexed, the custom field only keeps the first value: 18923.
There are two special cases: PT_I8 and PT_SYSTIME. These types have a wider range than the supported ranges for other custom fields. Should their values be too big or too small to fit in a custom field, the following values would be used instead:
|
|
Property value |
Custom field value |
|
PT_I8 |
Bigger than 2 147 483 647 |
2 147 483 647 |
|
|
Smaller than -2 147 483 648 |
-2 147 483 648 |
|
PT_SYSTIME |
Bigger than 2038/01/17 22:14:07 |
2038/01/17 22:14:07 |
|
|
Smaller than 1970/01/01 00:00:00 |
1970/01/01 00:00:00 |
Here is a list of available MAPI properties that Coveo Enterprise Search can index. Refer to the Microsoft’s MAPI documentation to have more information on each of these properties.
|
pr_access |
pr_access_level |
|
pr_acknowledgement_mode |
pr_alternate_recipient_allowed |
|
pr_arrival_time |
pr_attach_extension |
|
pr_attach_filename |
pr_attach_long_filename |
|
pr_attach_long_pathname |
pr_attach_mime_tag |
|
pr_attach_pathname |
pr_attach_size |
|
pr_attach_transport_name |
pr_auto_forward_comment |
|
pr_auto_forwarded |
pr_body_crc |
|
pr_client_submit_time |
pr_comment |
|
pr_content_identifier |
pr_content_length |
|
pr_content_return_requested |
pr_conversation_topic |
|
pr_conversion_prohibited |
pr_conversion_with_loss_prohibited |
|
pr_correlate |
pr_creation_time |
|
pr_creator_name |
pr_deferred_delivery_time |
|
pr_deferred_send_number |
pr_deferred_send_time |
|
pr_deferred_send_units |
pr_delete_after_submit |
|
pr_deliver_time |
pr_delivery_point |
|
pr_discard_reason |
pr_disclosure_of_recipients |
|
pr_discrete_values |
pr_display_bcc |
|
pr_display_cc |
pr_display_to |
|
pr_end_date |
pr_excess_storage_used |
|
pr_expiry_number |
pr_expiry_time |
|
pr_expiry_units |
pr_explicit_conversion |
|
pr_gw_admin_operations |
pr_has_named_properties |
|
pr_hasattach |
pr_implicit_conversion_prohibited |
|
pr_importance |
pr_incomplete_copy |
|
pr_ipm_return_requested |
pr_languages |
|
pr_last_modification_time |
pr_last_modifier_name |
|
pr_latest_delivery_time |
pr_message_class |
|
pr_message_delivery_time |
pr_message_flags |
|
pr_message_locale_id |
pr_message_size |
|
pr_mhs_common_name |
pr_msg_status |
|
pr_ndr_diag_code |
pr_ndr_reason_code |
|
pr_non_receipt_notification_requested |
pr_non_receipt_reason |
|
pr_normalized_subject |
pr_object_type |
|
pr_orig_message_class |
pr_original_author_addrtype |
|
pr_original_author_name |
pr_original_delivery_time |
|
pr_original_display_bcc |
pr_original_display_cc |
|
pr_original_display_to |
pr_original_sender_addrtype |
|
pr_original_sender_name |
pr_original_sensitivity |
|
pr_original_sent_representing_addrtype |
pr_original_sent_representing_name |
|
pr_original_submit_time |
pr_originally_intended_recip_addrtype |
|
pr_originally_intended_recipient_name |
pr_originator_addr |
|
pr_originator_addrtype |
pr_originator_delivery_report_requested |
|
pr_originator_name |
pr_originator_non_delivery_report_requested |
|
pr_owner_appt_id |
pr_physical_delivery_bureau_fax_delivery |
|
pr_physical_delivery_mode |
pr_physical_delivery_report_request |
|
pr_physical_forwarding_address_requested |
pr_physical_forwarding_prohibited |
|
pr_priority |
pr_proof_of_delivery_requested |
|
pr_proof_of_submission_requested |
pr_provider_submit_time |
|
pr_rcvd_representing_addrtype |
pr_rcvd_representing_name |
|
pr_read_receipt_requested |
pr_receipt_time |
|
pr_received_by_addrtype |
pr_received_by_email_address |
|
pr_received_by_name |
pr_recipient_number |
|
pr_recipient_reassignment_prohibited |
pr_registered_mail_type |
|
pr_remote_progress |
pr_remote_progress_text |
|
pr_remote_validate_ok |
pr_replica_server |
|
pr_reply_recipient_names |
pr_reply_requested |
|
pr_reply_time |
pr_report_destination_name |
|
pr_report_name |
pr_report_text |
|
pr_report_time |
pr_response_requested |
|
pr_returned_ipm |
pr_rtf_in_sync |
|
pr_security |
pr_send_rich_info |
|
pr_sender_addrtype |
pr_sender_name |
|
pr_sensitivity |
pr_sent_representing_addrtype |
|
pr_sent_representing_email_address |
pr_sent_representing_name |
|
pr_start_date |
pr_storage_quota_limit |
|
pr_subject |
pr_subject_prefix |
|
pr_supplementary_info |
pr_svr_generating_quota_msg |
|
pr_transport_message_headers |
pr_type_of_mts_user |
Coveo Enterprise Search also indexes user-defined properties. For instance, imagine that most of the Exchange Server items contain the name of the sender's company in a user-defined property called sender_company. Several users would like to query by names of company. Then, the system administrator only needs to add a "sender_company" custom field to the appropriate source. In the following image, the custom field is called company. Once the field is added, users can use it to perform their queries and thus find all items whose sender is from a specified company.
@company=Coveo
Finds all documents with the word "Coveo" in the "Company" field.
Here are the values used in the following image to create the custom field:
|
Name |
company |
Name of custom field to use for queries. |
|
Type |
String |
The user-defined property is a string. |
|
Metadata Name |
sender_company |
Name of the user-defined property to retrieve. |
Note that there are two restrictions on a user-defined property:
1. Its name must be different from the predefined MAPI properties listed above;
2. Its name must be a string (not a numeric value).
|
Last Reviewed |
2006/03/30 |
|
Keywords |
Exchange Server properties, User-defined properties, MAPI properties, Custom field |