In an SOSL query, you can specify which types of text fields to search for using the IN SearchGroup optional clause. The SearchGroup defines the scope of the search. For example, you can search for name, email, phone, sidebar, or all fields.
The following table lists the valid SearchGroup values. If you don’t specify a value, the default behavior is to search all text fields in searchable objects. Numeric fields aren’t searchable.
This clause doesn’t apply to articles, documents, feed comments, feed items, files, products, and solutions. If these objects are specified in the RETURNING clause, the search is not limited to specific fields, and all fields are searched.
Note
Valid SearchGroup Settings
SearchGroup
Description
ALL FIELDS
Search all searchable fields. If the IN clause is unspecified, then ALL FIELDS is the default setting.
EMAIL FIELDS
Search only email fields.
NAME FIELDS
Search only name fields for standard objects. In addition to the Name field, Salesforce searches additional fields when using IN NAME FIELDS with certain standard objects (see the list after this table). In custom objects, fields that are defined as “Name Field” are searched. In standard and custom objects, name fields have the nameField property set to true. (See the Field array of the fields parameter of the DescribeSObjectResult for more information.)
PHONE FIELDS
Search only phone number fields.
SIDEBAR FIELDS
Search for valid records as listed in the Sidebar dropdown list. Unlike search in the application, the asterisk (*) wildcard isn’t appended to the end of a search string.
In addition to the Name field, Salesforce searches the following fields when using IN NAME FIELDS with these standard objects:
The IN clause is optional, but it limits the search scope, making the search more efficient. For example, to search only for an email address, specify IN EMAIL FIELDS.